From owner-freebsd-hackers Sat May 23 17:44:55 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id RAA27360 for freebsd-hackers-outgoing; Sat, 23 May 1998 17:44:55 -0700 (PDT) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from biggusdiskus.flyingfox.com (biggusdiskus.flyingfox.com [205.162.1.28]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id RAA27329 for ; Sat, 23 May 1998 17:44:27 -0700 (PDT) (envelope-from jas@flyingfox.com) Received: (from jas@localhost) by biggusdiskus.flyingfox.com (8.8.5/8.8.5) id RAA12561; Sat, 23 May 1998 17:17:32 -0700 (PDT) Date: Sat, 23 May 1998 17:17:32 -0700 (PDT) From: Jim Shankland Message-Id: <199805240017.RAA12561@biggusdiskus.flyingfox.com> To: jas@flyingfox.com, njs3@doc.ic.ac.uk, tlambert@primenet.com Subject: Re: TIME_WAIT/FIN_WAIT_2... Cc: hackers@FreeBSD.ORG Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG >From njs3@doc.ic.ac.uk Sat May 23 05:53:26 1998 From: njs3@doc.ic.ac.uk (Niall Smart) Date: Sat, 23 May 1998 13:52:02 +0100 In-Reply-To: Jim Shankland "Re: TIME_WAIT/FIN_WAIT_2..." (May 22, 5:25pm) X-Mailer: Mail User's Shell (7.2.5 10/14/92) To: Jim Shankland , tlambert@primenet.com Subject: Re: TIME_WAIT/FIN_WAIT_2... Cc: hackers@FreeBSD.ORG njs3@doc.ic.ac.uk (Niall Smart) wrote: > On May 22, 5:25pm, Jim Shankland wrote: > } Subject: Re: TIME_WAIT/FIN_WAIT_2... > > > btw, whoever it was who said, "Don't do this because rsh uses > > half-open connections" -- you missed a key point. None of this > > applies if the application process still has the socket open. > > This only applies when the application has entirely closed the > > socket, so there's nobody there to receive any data that might > > arrive. > > That was me. I don't believe what you are saying is correct. > A process can place a socket in TIME_WAIT_2 by issuing a > shutdown(fd, 1) while continuing to read from it. You mean FIN_WAIT_2, and you're right as far as you go, of course; but you're missing the point. None of these timeouts/probes/etc. apply if the end in FIN_WAIT_2 still has its socket open for reading. In that case, there is no timeout (other than normal retransmit timeouts, keepalive if it's on, etc.). We're only dealing with the case where the connection is in FIN_WAIT_2, *and the socket has been entirely closed*. Just being in FIN_WAIT_2, with the socket still open for reading, is a perfectly reasonable state that can persist indefinitely. Jim Shankland Flying Fox Computer Systems, Inc. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message