forked from KolibriOS/kolibrios
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:
parent
072fca2d28
commit
2a755c9a3d
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user