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

Alan Cox
2004-10-07T14:50:40Z

> Read the standard. The behavious of select() on sockets is explicitely
> described.

For a strict posix system, but then if we were a strict posix/sus system
you wouldn't be able to use mmap. Also the kernel doesn't claim to
implement posix behaviour, it avoids those areas were posix is stupid.

> > POSIX_ME_HARDER? ;)
>
> Would you care to provide any real answers or are you just telling
> me to shut up because whatever Linux does is good, and not appear
> unreasonable by adding a ;) ..?

POSIX_ME_HARDER was an environment variable GNU tools used when users
wanted them to do stupid but posix mandated things instead of sensible
things. It was later changed to POSIXLY_CORRECT, which lost the point
somewhat.

> > You really shouldnt assume select state is guaranteed not to change
> > by time you get round to doing IO. It's not safe, and not just on
> > Linux - whatever POSIX says.
>
> Any sane application would be written for the POSIX API as described
> in the standard, and a sane kernel should IMHO implement that standard
> whenever possible.

I doubt that. Sane applications are written to the BSD socket API not
POSIX 1003.1g draft 6.4 and relatives.

Alan