Re: Linux tcp/ip code has trouble with async network I/O notification,

Philippe Troin (phil@fifi.org)
Thu, 03 Sep 1998 01:41:07 -0700


Wim Ten Have wrote:

> I think that there is a major ;-) problem around in the Linux TCP/IP
> code when using Async (SIGIO) controlled network code setups.

[snip]

> The idea of the re pro is that a certain server process needs ASYNC
> I/O notification when recv network I/O is possible. Under Linux
> this only works "well" for local clients though clients routed via
> external physical devices have difficulties.

[snip]

> Some understanding wrt this problem I currently hold is that the
> SIGIO is posted before the socket connection state is set to
> ESTABLISHED making the select(2) miss the available data. Local
> clients have the advantage that their data is already available so I
> think they are served by accident.

After all the stupid flamage (my threads are bigger than yours kind of things), I
remember having found some messages in linux-java where they basically came to the
conclusion that in Linux the SIGIO is delivered before the full TCP handshake is
completed.
I was able to reproduce the bad behavior when connecting accross a modem, but not
locally or on the same (idle) subnet.
There is a patch hanging somewhere for 2.0.3x. The problem was said to be fixed in
2.1.xx (which obviously isn't). I will look for the patch if I can still find it.

Phil.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html