summaryrefslogtreecommitdiffstats
path: root/server/main_dispatcher.c
diff options
context:
space:
mode:
authorYonit Halperin <yhalperi@redhat.com>2013-07-26 13:49:24 -0400
committerYonit Halperin <yhalperi@redhat.com>2013-07-29 11:35:17 -0400
commit06ba03b7b32a2f0c7f78c82d8f399242526a0b45 (patch)
tree7191f60093aad1b77ef5c0e98c142d6c4e431757 /server/main_dispatcher.c
parentaab45618cc12799d5f7351ef8832ae73b33057c7 (diff)
downloadspice-06ba03b7b32a2f0c7f78c82d8f399242526a0b45.tar.gz
spice-06ba03b7b32a2f0c7f78c82d8f399242526a0b45.tar.xz
spice-06ba03b7b32a2f0c7f78c82d8f399242526a0b45.zip
main_dispatcher: add ref count protection to RedClient instances
Diffstat (limited to 'server/main_dispatcher.c')
-rw-r--r--server/main_dispatcher.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/server/main_dispatcher.c b/server/main_dispatcher.c
index e7a451a0..bf160dd3 100644
--- a/server/main_dispatcher.c
+++ b/server/main_dispatcher.c
@@ -97,6 +97,7 @@ static void main_dispatcher_handle_migrate_complete(void *opaque,
MainDispatcherMigrateSeamlessDstCompleteMessage *mig_complete = payload;
reds_on_client_seamless_migrate_complete(mig_complete->client);
+ red_client_unref(mig_complete->client);
}
static void main_dispatcher_handle_mm_time_latency(void *opaque,
@@ -104,6 +105,7 @@ static void main_dispatcher_handle_mm_time_latency(void *opaque,
{
MainDispatcherMmTimeLatencyMessage *msg = payload;
reds_set_client_mm_time_latency(msg->client, msg->latency);
+ red_client_unref(msg->client);
}
void main_dispatcher_seamless_migrate_dst_complete(RedClient *client)
@@ -115,7 +117,7 @@ void main_dispatcher_seamless_migrate_dst_complete(RedClient *client)
return;
}
- msg.client = client;
+ msg.client = red_client_ref(client);
dispatcher_send_message(&main_dispatcher.base, MAIN_DISPATCHER_MIGRATE_SEAMLESS_DST_COMPLETE,
&msg);
}
@@ -129,7 +131,7 @@ void main_dispatcher_set_mm_time_latency(RedClient *client, uint32_t latency)
return;
}
- msg.client = client;
+ msg.client = red_client_ref(client);
msg.latency = latency;
dispatcher_send_message(&main_dispatcher.base, MAIN_DISPATCHER_SET_MM_TIME_LATENCY,
&msg);