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 http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/