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

H. Peter Anvin
2004-10-20T22:02:18Z

Chris Friesen wrote:
> H. Peter Anvin wrote:
>
>> EIO seems to be The Right Thing[TM]... it pretty much says "yes, we
>> received something, but it was bad." What isn't clear to me is how
>> applications react to EIO. It could easily be considered a fatal
>> error... :-/
>
>
> From an application point of view, The Right Thing would be to do the
> checksum validation at select() time if the socket is blocking.
>
> If it's nonblocking, then just do as we do now and return EAGAIN at
> recvmsg() time.
>
> This would ensure that all existing apps get the expected semantics, but
> the ones based on blocking sockets would see a performance degredation.
>

Doing work twice can hardly be considered The Right Thing.

-hpa