From cd2bea0cd2e39e7b9c2a70717b40886b9857fdce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Tue, 29 Apr 2008 08:28:36 +0000 Subject: [PATCH] * Closed endpoints are now deleted directly, they no longer get into the 2MSL wait. * Accidently left on debug output. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25238 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/kernel/network/protocols/tcp/TCPEndpoint.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/add-ons/kernel/network/protocols/tcp/TCPEndpoint.cpp b/src/add-ons/kernel/network/protocols/tcp/TCPEndpoint.cpp index 3dbde59b7c..6c2dd53740 100644 --- a/src/add-ons/kernel/network/protocols/tcp/TCPEndpoint.cpp +++ b/src/add-ons/kernel/network/protocols/tcp/TCPEndpoint.cpp @@ -55,7 +55,7 @@ #define PrintAddress(address) \ AddressString(Domain(), address, true).Data() -#define TRACE_TCP +//#define TRACE_TCP //#define PROBE_TCP #ifdef TRACE_TCP @@ -1621,6 +1621,12 @@ TCPEndpoint::SegmentReceived(tcp_segment_header& segment, net_buffer* buffer) else if (segmentAction & ACKNOWLEDGE) DelayedAcknowledge(); + if (fState == CLOSED && (fFlags & FLAG_CLOSED) != 0) { + locker.Unlock(); + gSocketModule->delete_socket(socket); + // this will also delete us + } + return segmentAction; }