Re: UDP recvmsg blocks after select(), 2.6 bug?

From: Alan Cox
Date: Wed Oct 06 2004 - 15:36:08 EST


On Mer, 2004-10-06 at 20:30, Andries Brouwer wrote:
> A descriptor shall be considered ready for reading when a
> call to an input function with O_NONBLOCK clear would not
> block, whether or not the function would transfer data
> successfully. (The function might return data, an end-of-
> file indication, or an error other than one indicating
> that it is blocked, and in each of these cases the
> descriptor shall be considered ready for reading.)
>
> As far as I can interpret these sentences, Linux does not conform.

Nor does anything else in that case. I guess we need a POSIX_ME_HARDER
socket option.

As to the Stevens reference - Stevens says nothing about read but does
mention the problem of accept, which is one of the "can't fix" type
examples.

Connection setup pending
select returns
Connection destroyed
accept blocks

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/