[Spice-devel] [PATCH spice-server 3/6] red-channel-client: Init pipe field during init

Frediano Ziglio fziglio at redhat.com
Fri Oct 28 10:59:53 UTC 2016


There was a chance that on error GQueue were not
initialized but an attempt to destroy it is made.
This assure GQueue is initialized as soon as
possible. Note that red_channel_client_initable_init
is called after all init and construction callbacks.

Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
---
 server/red-channel-client.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/server/red-channel-client.c b/server/red-channel-client.c
index c562e8e..3b2c24c 100644
--- a/server/red-channel-client.c
+++ b/server/red-channel-client.c
@@ -354,6 +354,8 @@ red_channel_client_init(RedChannelClient *self)
     self->priv->send_data.urgent.marshaller = spice_marshaller_new();
 
     self->priv->send_data.marshaller = self->priv->send_data.main.marshaller;
+
+    g_queue_init(&self->priv->pipe);
 }
 
 RedChannel* red_channel_client_get_channel(RedChannelClient *rcc)
@@ -907,7 +909,6 @@ static gboolean red_channel_client_initable_init(GInitable *initable,
     self->priv->outgoing.pos = 0;
     self->priv->outgoing.size = 0;
 
-    g_queue_init(&self->priv->pipe);
     if (self->priv->stream)
         self->priv->stream->watch =
             core->watch_add(core, self->priv->stream->socket,
-- 
2.7.4



More information about the Spice-devel mailing list