From 2a755c9a3ded5a697857e77c67945294c316d3c9 Mon Sep 17 00:00:00 2001 From: CleverMouse Date: Mon, 14 Nov 2016 12:30:05 +0000 Subject: [PATCH] on RST, close TCP connection but don't free the structure - owner process should know what happened git-svn-id: svn://kolibrios.org@6710 a494cfbc-eb01-0410-851d-a64ba20cac60 --- kernel/trunk/network/tcp_input.inc | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/kernel/trunk/network/tcp_input.inc b/kernel/trunk/network/tcp_input.inc index 68e6da65f7..e96fd14b38 100644 --- a/kernel/trunk/network/tcp_input.inc +++ b/kernel/trunk/network/tcp_input.inc @@ -859,17 +859,12 @@ endl inc [TCPS_drops] - mov eax, ebx - call tcp_close - jmp .drop_no_socket + jmp .drop ;----------------------------------------------------------------------------------- .rst_close: DEBUGF DEBUG_NETWORK_VERBOSE, "TCP_input: Closing with reset\n" - - mov eax, ebx - call tcp_close - jmp .drop_no_socket + jmp .unlock_and_close ;----------------------------------------------------------------------------------- .no_rst: @@ -1311,6 +1306,7 @@ endl test [temp_bits], TCP_BIT_FIN_IS_ACKED jz .ack_processed + .unlock_and_close: push ebx lea ecx, [ebx + SOCKET.mutex] call mutex_unlock