Re: PROBLEM: blocking read on socket repeatedly returns EAGAIN

From: Alan Cox
Date: Tue Aug 16 2005 - 08:36:23 EST


On Maw, 2005-08-16 at 15:19 +0200, Kern Sibbald wrote:
> have written, nor does it write() anything. When my read() is issued, I
> expect it to block, but it immediately returns with -1 and errno set to
> EAGAIN. If the read() is re-issued, a CPU intensive loop results as long as
> the other end does not read() the data written to the socket. This is a
> multi-threaded program, but the other threads are all blocked on something.

You are describing behaviour as expected with nonblocking set. That
suggests to me that something or someone set or inherited the nonblock
flag on that socket. Is the strange behaviour specific to the latest
kernel ?

Alan
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/