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 another bug somewhere? Paolo