提交 825a4929 编写于 作者: A aliguori

Make sure to resume the monitor only after flushing out outstanding

network traffic.

This was bug was reported by Chris Lalancette.
Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5640 c046a42c-6fe2-441c-8c8c-71466251a162
上级 978d5d73
...@@ -40,19 +40,11 @@ typedef struct FdMigrationState ...@@ -40,19 +40,11 @@ typedef struct FdMigrationState
do { } while (0) do { } while (0)
#endif #endif
int debug_me = 0;
static void tcp_cleanup(FdMigrationState *s) 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); qemu_set_fd_handler2(s->fd, NULL, NULL, NULL, NULL);
if (s->file) { if (s->file) {
debug_me = 1;
dprintf("closing file\n"); dprintf("closing file\n");
qemu_fclose(s->file); qemu_fclose(s->file);
} }
...@@ -60,6 +52,12 @@ static void tcp_cleanup(FdMigrationState *s) ...@@ -60,6 +52,12 @@ static void tcp_cleanup(FdMigrationState *s)
if (s->fd != -1) if (s->fd != -1)
close(s->fd); 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; s->fd = -1;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册