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
This commit is contained in:
CleverMouse 2016-11-14 12:30:05 +00:00
parent 072fca2d28
commit 2a755c9a3d

View File

@ -859,17 +859,12 @@ endl
inc [TCPS_drops] inc [TCPS_drops]
mov eax, ebx jmp .drop
call tcp_close
jmp .drop_no_socket
;----------------------------------------------------------------------------------- ;-----------------------------------------------------------------------------------
.rst_close: .rst_close:
DEBUGF DEBUG_NETWORK_VERBOSE, "TCP_input: Closing with reset\n" DEBUGF DEBUG_NETWORK_VERBOSE, "TCP_input: Closing with reset\n"
jmp .unlock_and_close
mov eax, ebx
call tcp_close
jmp .drop_no_socket
;----------------------------------------------------------------------------------- ;-----------------------------------------------------------------------------------
.no_rst: .no_rst:
@ -1311,6 +1306,7 @@ endl
test [temp_bits], TCP_BIT_FIN_IS_ACKED test [temp_bits], TCP_BIT_FIN_IS_ACKED
jz .ack_processed jz .ack_processed
.unlock_and_close:
push ebx push ebx
lea ecx, [ebx + SOCKET.mutex] lea ecx, [ebx + SOCKET.mutex]
call mutex_unlock call mutex_unlock