From: Uri Lublin Date: Tue, 19 May 2009 11:08:53 +0000 (+0300) Subject: migrate.c: migrate_fd_put_buffer: Do not busyloop: stop writing if EWOULDBLOCK X-Git-Tag: v0.10.5~13 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=3978d7b4c8fe68dc45ea40097c76017938fb0ba7;p=users%2Fdwmw2%2Fqemu.git 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 Signed-off-by: Anthony Liguori --- 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));