Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Feb 2001 09:21:44 -0800 (PST)
From:      Archie Cobbs <archie@dellroad.org>
To:        Garrett Wollman <wollman@khavrinen.lcs.mit.edu>
Cc:        net@FreeBSD.ORG
Subject:   Re: [itojun@iijlab.net: accept(2) behavior with tcp RST right after handshake]
Message-ID:  <200102131721.JAA75141@curve.dellroad.org>
In-Reply-To: <200102131611.LAA30820@khavrinen.lcs.mit.edu> "from Garrett Wollman at Feb 13, 2001 11:11:16 am"

next in thread | previous in thread | raw e-mail | index | archive | help
Garrett Wollman writes:
> > 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).

Ah, my apologies for being foggy on the prior behavior. Given the
circumstances, I agree returning the error from accept(2) seems
like the best option.

-Archie

__________________________________________________________________________
Archie Cobbs     *     Packet Design     *     http://www.packetdesign.com


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?200102131721.JAA75141>