Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Feb 2001 11:11:16 -0500 (EST)
From:      Garrett Wollman <wollman@khavrinen.lcs.mit.edu>
To:        Archie Cobbs <archie@dellroad.org>
Cc:        net@FreeBSD.ORG
Subject:   Re: [itojun@iijlab.net: accept(2) behavior with tcp RST right after handshake]
Message-ID:  <200102131611.LAA30820@khavrinen.lcs.mit.edu>
In-Reply-To: <200102130231.SAA72979@curve.dellroad.org>
References:  <6290.982027182@coconut.itojun.org> <200102130231.SAA72979@curve.dellroad.org>

next in thread | previous in thread | raw e-mail | index | archive | help
<<On Mon, 12 Feb 2001 18:31:33 -0800 (PST), Archie Cobbs <archie@dellroad.org> said:

> ISTR at one time you would instead get the actual sockaddr of the
> just-closed socket, rather than a bogus sockaddr... and that is the
> behavior one would expect.

As itojun pointed out, accept() used to just block if the socket it
thought it was going to give you turned out not to be there at the
last moment.  This was a killer for applications which expected
return from select() to be a reliable indicator of connections
waiting.

I think the proposed fix is the best one we can get right now.
Restructuring the TCP code to handle this case doesn't make a whole
lot of sense to me (or apparently to itojun or jlemon either).

-GAWollman



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200102131611.LAA30820>