summaryrefslogtreecommitdiffstats
path: root/server/main_channel.c
diff options
context:
space:
mode:
authorYonit Halperin <yhalperi@redhat.com>2012-08-02 13:20:20 +0300
committerYonit Halperin <yhalperi@redhat.com>2012-08-27 09:13:00 +0300
commiteb4c95b08b6848ee604497bb66392636341ad1fe (patch)
tree87a1eaa15aa020ca057a71f808dc077993c86384 /server/main_channel.c
parent4f551a3550cf0d54e682e50ccddb446d15732bbe (diff)
downloadspice-eb4c95b08b6848ee604497bb66392636341ad1fe.tar.gz
spice-eb4c95b08b6848ee604497bb66392636341ad1fe.tar.xz
spice-eb4c95b08b6848ee604497bb66392636341ad1fe.zip
red_channel: handle sending SPICE_MSG_MIGRATE
The relevant code is common to all channels. The patch also contains a fix to the return value for handle_migrate_data callback: s/uint64_t/int
Diffstat (limited to 'server/main_channel.c')
-rw-r--r--server/main_channel.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/server/main_channel.c b/server/main_channel.c
index 61230682..63989657 100644
--- a/server/main_channel.c
+++ b/server/main_channel.c
@@ -475,7 +475,7 @@ static uint64_t main_channel_handle_migrate_data_get_serial(RedChannelClient *ba
return data->serial;
}
-static uint64_t main_channel_handle_migrate_data(RedChannelClient *base,
+static int main_channel_handle_migrate_data(RedChannelClient *base,
uint32_t size, void *message)
{
MainChannelClient *mcc = SPICE_CONTAINEROF(base, MainChannelClient, base);
@@ -1138,7 +1138,8 @@ MainChannel* main_channel_init(void)
FALSE, FALSE, /* handle_acks */
spice_get_client_channel_parser(SPICE_CHANNEL_MAIN, NULL),
main_channel_handle_parsed,
- &channel_cbs);
+ &channel_cbs,
+ SPICE_MIGRATE_NEED_FLUSH | SPICE_MIGRATE_NEED_DATA_TRANSFER);
spice_assert(channel);
red_channel_set_cap(channel, SPICE_MAIN_CAP_SEMI_SEAMLESS_MIGRATE);