Make sure to resume the monitor only after flushing out outstanding 
network traffic.

This was bug was reported by Chris Lalancette.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5640 c046a42c-6fe2-441c-8c8c-71466251a162
diff --git a/migration-tcp.c b/migration-tcp.c
index 698cd05..f13dc0d 100644
--- a/migration-tcp.c
+++ b/migration-tcp.c
@@ -40,19 +40,11 @@
     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 @@
     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;
 }