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

Chris Friesen
2004-10-21T05:54:15Z

H. Peter Anvin wrote:
>> H. Peter Anvin wrote:
>>
>>> The whole point is that it doesn't break the *documented* interface.

> I'm talking about returning -1, EIO.

Ah. By "it", I thought you meant the current performance optimizations, not the
EIO. My apologies.

I think returning EIO is suboptimal, as it is not an expected error value for
recvmsg(). (It's not listed in the man pages for recvmsg() or ip.) It would
certainly work for new apps, but probably not for many existing binaries.

On the other hand, if you simply do the checksum verification at select() time
for blocking sockets, then the existing binaries get exactly the behaviour they
expect.

Chris