mirror of
https://git.proxmox.com/git/qemu
synced 2025-08-08 04:15:36 +00:00
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
This commit is contained in:
parent
978d5d73ed
commit
825a4929da
@ -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)
|
|||||||
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user