[Spice-devel] [RfC fix] async thread fix - handle EAGAIN/EINTR, remove fprintf
Alon Levy
alevy at redhat.com
Fri Jun 24 05:52:05 PDT 2011
---
hw/qxl.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/hw/qxl.c b/hw/qxl.c
index dd42a40..51a5270 100644
--- a/hw/qxl.c
+++ b/hw/qxl.c
@@ -1012,13 +1012,15 @@ static void *ioport_write_async(void *arg)
while (true) {
ret = read(d->aio_pipe[0], &io, sizeof(io));
+ if (ret < 0 && (errno == EAGAIN || errno == EINTR)) {
+ continue;
+ }
if (ret != sizeof(io)) {
break;
}
io_port = io->port;
val = io->val;
- fprintf(stderr, "%s: 0x%x\n", __FUNCTION__, io_port);
switch (io_port) {
case QXL_IO_UPDATE_AREA_ASYNC:
qemu_spice_update_area(&d->ssd, io->update_surface,
--
1.7.5.4
More information about the Spice-devel
mailing list