[Spice-devel] [RfC fix] async thread fix - handle EAGAIN/EINTR, remove fprintf

2011-06-24 Thread Alon Levy
--- 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,

Re: [Spice-devel] [RfC fix] async thread fix - handle EAGAIN/EINTR, remove fprintf

2011-07-04 Thread Paolo Bonzini
On 06/24/2011 02:52 PM, Alon Levy wrote: ret = read(d->aio_pipe[0],&io, sizeof(io)); +if (ret< 0&& (errno == EAGAIN || errno == EINTR)) { +continue; +} This means you'd be busy waiting if you get EAGAIN. If you really need EAGAIN, perhaps there is anoth