aboutsummaryrefslogtreecommitdiff
path: root/ui/spice-core.c
diff options
context:
space:
mode:
authorYonit Halperin <yhalperi@redhat.com>2011-10-17 10:03:18 +0200
committerGerd Hoffmann <kraxel@redhat.com>2011-10-25 14:00:53 +0200
commitedc5cb1a52b2847201acf78b0fba67ab3c2464d5 (patch)
tree5998b53e42d55086f130c0e3a7ef1e86f4eea57b /ui/spice-core.c
parentafe2df69cf9305b195d96afc545d3fefc0fb5f5d (diff)
spice: turn client_migrate_info to async
RHBZ 737921 Spice client is required to connect to the migration target before/as migration starts. Since after migration starts, the target qemu is blocked and cannot accept new spice client we trigger the connection to the target upon client_migrate_info command. client_migrate_info completion cb will be called after spice client has been connected to the target (or a timeout). See following patches and spice patches. Signed-off-by: Yonit Halperin <yhalperi@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'ui/spice-core.c')
-rw-r--r--ui/spice-core.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/ui/spice-core.c b/ui/spice-core.c
index b33366e5d7..62ffb9b28c 100644
--- a/ui/spice-core.c
+++ b/ui/spice-core.c
@@ -457,10 +457,14 @@ static void migration_state_notifier(Notifier *notifier, void *data)
}
int qemu_spice_migrate_info(const char *hostname, int port, int tls_port,
- const char *subject)
+ const char *subject,
+ MonitorCompletion *cb, void *opaque)
{
- return spice_server_migrate_info(spice_server, hostname,
- port, tls_port, subject);
+ int ret;
+ ret = spice_server_migrate_info(spice_server, hostname,
+ port, tls_port, subject);
+ cb(opaque, NULL);
+ return ret;
}
static int add_channel(const char *name, const char *value, void *opaque)