summaryrefslogtreecommitdiff
path: root/migration-tcp.c
diff options
context:
space:
mode:
Diffstat (limited to 'migration-tcp.c')
-rw-r--r--migration-tcp.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/migration-tcp.c b/migration-tcp.c
index 698cd05d97..f13dc0da7d 100644
--- a/migration-tcp.c
+++ b/migration-tcp.c
@@ -40,19 +40,11 @@ typedef struct FdMigrationState
do { } while (0)
#endif
-int debug_me = 0;
-
static void tcp_cleanup(FdMigrationState *s)
{
- if (s->detach == 2) {
- monitor_resume();
- s->detach = 0;
- }
-
qemu_set_fd_handler2(s->fd, NULL, NULL, NULL, NULL);
if (s->file) {
- debug_me = 1;
dprintf("closing file\n");
qemu_fclose(s->file);
}
@@ -60,6 +52,12 @@ static void tcp_cleanup(FdMigrationState *s)
if (s->fd != -1)
close(s->fd);
+ /* Don't resume monitor until we've flushed all of the buffers */
+ if (s->detach == 2) {
+ monitor_resume();
+ s->detach = 0;
+ }
+
s->fd = -1;
}