Re: bug in select() in linux

From: Alan Cox
Date: Mon Mar 12 2007 - 12:00:04 EST


On Mon, 12 Mar 2007 16:02:11 +0100
"LluÃs Batlle" <viriketo@xxxxxxxxx> wrote:

> Oh, of course you're right. I was inside too much layers to think of
> the tcp protocol, and I did not pay attention to it.
>
> Maybe something could be added to the manpage anyway.
>
> The bad thing is that there's no way I can use a socket for writing
> using select() if that connection has been half-closed by the other
> end. Moo.

You can because the only case it will block is when the transmit queue is
partly or completely full which means that you will discover the
connection has been reset when the transmit triggers a reset.

If you wait on the FD concerned for write or exception events all should
work nicely.
-
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/