On Wed, 2006-04-26 at 16:25 -0600, Andy G. wrote:
On 04/25/06 09:08, Andrew Gill wrote:
-- io.c.orig Mon Mar 13 10:01:31 2006 +++ io.c Mon Mar 13 10:01:31 2006 @@ -361,6 +361,7 @@ case EINTR: continue; /* FIXME: Is it really worth looping here, * instead of in the select loop? */ + case EAGAIN: case EWOULDBLOCK: /* aka EAGAIN */ return 0; case EPIPE: @@ -415,6 +416,7 @@ continue; /* FIXME: Is it really worth looping here, * instead of in the select loop? */ case EWOULDBLOCK: /* aka EAGAIN */ + case EAGAIN: return 0; case EPIPE: werror("io.c: recvfrom() returned EPIPE! Treating it as EOF.\n");
The problem with this patch that it breaks platforms that EAGAIN equals to EWOULDBLOCK as the C compiler complains about overlapping case statements. -- Bazsi