summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>2008-11-12 22:29:11 +0000
committeraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>2008-11-12 22:29:11 +0000
commit8ad9fa5d8be7fd04e723020088eca664971eb363 (patch)
tree05c3f09b338ab578b79e55755e32c30aa77fc083
parentc310de8657b12e805b2ac225e6932b8beed013cf (diff)
downloadqemu-8ad9fa5d8be7fd04e723020088eca664971eb363.tar.gz
Fix brown-paper-bag bugs from live-migration patch (Charles Duffy)
In TCP migration, prevent an endless loop trying to retrieve error status. In exec migration, set the close pointer in the FdMigrationState structure. Color me embarrassed. Signed-off-by: Charles Duffy <charles_duffy@messageone.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5713 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r--migration-exec.c1
-rw-r--r--migration-tcp.c2
2 files changed, 2 insertions, 1 deletions
diff --git a/migration-exec.c b/migration-exec.c
index 5d0b215fd1..caeed4bbc0 100644
--- a/migration-exec.c
+++ b/migration-exec.c
@@ -85,6 +85,7 @@ MigrationState *exec_start_outgoing_migration(const char *command,
s->opaque = qemu_popen(f, "w");
+ s->close = exec_close;
s->get_error = file_errno;
s->write = file_write;
s->mig_state.cancel = migrate_fd_cancel;
diff --git a/migration-tcp.c b/migration-tcp.c
index 100644ba27..6fc1943d8b 100644
--- a/migration-tcp.c
+++ b/migration-tcp.c
@@ -32,7 +32,7 @@
static int socket_errno(FdMigrationState *s)
{
- return (s->get_error(s));
+ return socket_error();
}
static int socket_write(FdMigrationState *s, const void * buf, size_t size)