aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUri Lublin <uril@redhat.com>2009-05-19 14:08:53 +0300
committerAnthony Liguori <aliguori@us.ibm.com>2009-05-20 13:21:24 -0500
commit3978d7b4c8fe68dc45ea40097c76017938fb0ba7 (patch)
tree248a40b0da30403d41099cfa3e199b0562c35a55
parentdc0be040c2f1eae7bca164654cd21603c6c44dad (diff)
migrate.c: migrate_fd_put_buffer: Do not busyloop: stop writing if EWOULDBLOCK
The migration code is non-blocking, designed for live migration. Practically migrate_fd_put_buffer busy-loops trying to write, as on many machines EWOULDBLOCK==EAGAIN (look in include/asm-generic/errno.h). Signed-off-by: Uri Lublin <uril@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-rw-r--r--migration.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/migration.c b/migration.c
index ee9e20e4bb..06ea795cf1 100644
--- a/migration.c
+++ b/migration.c
@@ -168,7 +168,7 @@ ssize_t migrate_fd_put_buffer(void *opaque, const void *data, size_t size)
do {
ret = s->write(s, data, size);
- } while (ret == -1 && ((s->get_error(s)) == EINTR || (s->get_error(s)) == EWOULDBLOCK));
+ } while (ret == -1 && ((s->get_error(s)) == EINTR));
if (ret == -1)
ret = -(s->get_error(s));