From b82351f7119d3c9058ebafd1de130f3b078d0c74 Mon Sep 17 00:00:00 2001 From: Yonit Halperin Date: Tue, 7 May 2013 14:54:40 -0400 Subject: red_channel: notify and shutdown a channel client when its handle_migrate_data fails --- server/red_channel.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'server') diff --git a/server/red_channel.c b/server/red_channel.c index 9d71543b..119e5e5b 100644 --- a/server/red_channel.c +++ b/server/red_channel.c @@ -1275,14 +1275,17 @@ static void red_channel_handle_migrate_data(RedChannelClient *rcc, uint32_t size return; } if (!red_channel_client_waits_for_migrate_data(rcc)) { - spice_error("unexcpected"); + spice_channel_client_error(rcc, "unexpected"); return; } if (rcc->channel->channel_cbs.handle_migrate_data_get_serial) { red_channel_client_set_message_serial(rcc, rcc->channel->channel_cbs.handle_migrate_data_get_serial(rcc, size, message)); } - rcc->channel->channel_cbs.handle_migrate_data(rcc, size, message); + if (!rcc->channel->channel_cbs.handle_migrate_data(rcc, size, message)) { + spice_channel_client_error(rcc, "handle_migrate_data failed"); + return; + } red_channel_client_seamless_migration_done(rcc); } -- cgit