Commit 825a4929dac5d991c384bd9ee18c693458f7f055
1 parent
978d5d73
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
Showing
1 changed file
with
6 additions
and
8 deletions
migration-tcp.c
... | ... | @@ -40,19 +40,11 @@ typedef struct FdMigrationState |
40 | 40 | do { } while (0) |
41 | 41 | #endif |
42 | 42 | |
43 | -int debug_me = 0; | |
44 | - | |
45 | 43 | static void tcp_cleanup(FdMigrationState *s) |
46 | 44 | { |
47 | - if (s->detach == 2) { | |
48 | - monitor_resume(); | |
49 | - s->detach = 0; | |
50 | - } | |
51 | - | |
52 | 45 | qemu_set_fd_handler2(s->fd, NULL, NULL, NULL, NULL); |
53 | 46 | |
54 | 47 | if (s->file) { |
55 | - debug_me = 1; | |
56 | 48 | dprintf("closing file\n"); |
57 | 49 | qemu_fclose(s->file); |
58 | 50 | } |
... | ... | @@ -60,6 +52,12 @@ static void tcp_cleanup(FdMigrationState *s) |
60 | 52 | if (s->fd != -1) |
61 | 53 | close(s->fd); |
62 | 54 | |
55 | + /* Don't resume monitor until we've flushed all of the buffers */ | |
56 | + if (s->detach == 2) { | |
57 | + monitor_resume(); | |
58 | + s->detach = 0; | |
59 | + } | |
60 | + | |
63 | 61 | s->fd = -1; |
64 | 62 | } |
65 | 63 | ... | ... |