> > Change a couple more Rings to GQueue > --- > Changes in v2: > - use GQueue, not GList > > server/char-device.c | 79 > +++++++++++++++++++++------------------------------- > server/char-device.h | 1 - > 2 files changed, 32 insertions(+), 48 deletions(-) > > diff --git a/server/char-device.c b/server/char-device.c > index 957fb26..f826524 100644 > --- a/server/char-device.c > +++ b/server/char-device.c > @@ -50,8 +50,8 @@ struct RedCharDevicePrivate { > int active; /* has read/write been performed since the device was > started */ > int wait_for_migrate_data; > > - Ring write_queue; > - Ring write_bufs_pool; > + GQueue *write_queue; > + GQueue *write_bufs_pool; > uint64_t cur_pool_size; > RedCharDeviceWriteBuffer *cur_write_buf; > uint8_t *cur_write_buf_pos; .... > @@ -1195,8 +1180,8 @@ red_char_device_init(RedCharDevice *self) > { > self->priv = RED_CHAR_DEVICE_PRIVATE(self); > > - ring_init(&self->priv->write_queue); > - ring_init(&self->priv->write_bufs_pool); > + self->priv->write_queue = g_queue_new(); > + self->priv->write_bufs_pool = g_queue_new(); > ring_init(&self->priv->clients); > > g_signal_connect(self, "notify::sin", > G_CALLBACK(red_char_device_on_sin_changed), NULL); Why not using "GQueue write_queue"/"GQueue write_bufs_pool" and g_queue_init instead to avoid the pointer dereference every time? Frediano _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel