Re: Does Linux select() violate POSIX?

From: Nemo Publius
Date: Sun Jun 19 2011 - 18:22:27 EST

On Sun, Jun 19, 2011 at 7:41 AM, Bernd Petrovitsch
<bernd@xxxxxxxxxxxxxxxxxxx> wrote:
> On Sam, 2011-06-18 at 11:51 -0700, Nemo Publius wrote:
> Then you should reformulate your question because the answer is
> technically correct.

First of all, had you bothered to read the very next sentence in the
Email to which you felt the need to reply, you would find I did
precisely that:

"Of course I am talking about select() followed by recv() without
any intervening user-space operations on the descriptor."

Second, you are wrong. I basically asked, "Is select() followed by
recv() guaranteed not to block?"

Possible answers include:

"No; your computer might crash."

"No; your kernel image might be corrupt."

"No; space aliens might destroy the earth."

"No; some other process might access the descriptor in the meantime."

All of these are "technically" correct. All of them are also
completely useless. You -- and everyone else who read my question --
know _exactly_ what I was asking.

And I got my answer, which is yes, Linux select() violates POSIX, and
that decision is deliberate.

But again, thank you so much for your valuable contribution to the discussion.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at