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

Alan Cox
2004-10-06T20:31:10Z

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