---
migration-tcp.c | 9 +++++----
migration-unix.c | 9 +++++----
savevm.c | 1 +
3 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/migration-tcp.c b/migration-tcp.c
index f567898..056867c 100644
--- a/migration-tcp.c
+++ b/migration-tcp.c
@@ -137,7 +137,7 @@ static void tcp_accept_incoming_migration(void *opaque)
if (c == -1) {
fprintf(stderr, "could not accept migration connection\n");
- goto out2;
+ goto out;
}
f = qemu_fopen_socket(c, "r");
@@ -145,12 +145,13 @@ static void tcp_accept_incoming_migration(void *opaque)
fprintf(stderr, "could not qemu_fopen socket\n");
goto out;
}
-
+ c = -1;
process_incoming_migration(f);
qemu_fclose(f);
+
out:
- close(c);
-out2:
+ if (c != -1)
+ close(c);
qemu_set_fd_handler2(s, NULL, NULL, NULL, NULL);
close(s);
}
diff --git a/migration-unix.c b/migration-unix.c
index 3928f4c..0a3a076 100644
--- a/migration-unix.c
+++ b/migration-unix.c
@@ -134,7 +134,7 @@ static void unix_accept_incoming_migration(void *opaque)
if (c == -1) {
fprintf(stderr, "could not accept migration connection\n");
- goto out2;
+ goto out;
}
f = qemu_fopen_socket(c, "r");
@@ -142,12 +142,13 @@ static void unix_accept_incoming_migration(void *opaque)
fprintf(stderr, "could not qemu_fopen socket\n");
goto out;
}
-
+ c = -1;
process_incoming_migration(f);
qemu_fclose(f);
+
out:
- close(c);
-out2:
+ if (c != -1)
+ close(c);
qemu_set_fd_handler2(s, NULL, NULL, NULL, NULL);
close(s);
}