1129,11 → 1129,10 |
.ack_fw1: |
jz .ack_processed |
|
test [ebx + SOCKET.state], SS_CANTRCVMORE |
test [ebx + SOCKET.state], SO_CANTRCVMORE |
jnz @f |
mov eax, ebx |
call SOCKET_is_disconnected |
;;; mov [ebx + TCP_SOCKET.timer_timed_wait], TCP_time_max_idle |
;;soisdisconnected(ebx) |
mov [ebx + TCP_SOCKET.timer_timed_wait], TCP_time_max_idle |
@@: |
|
mov [ebx + TCP_SOCKET.t_state], TCB_FIN_WAIT_2 |
1144,11 → 1143,9 |
jz .ack_processed |
|
mov [ebx + TCP_SOCKET.t_state], TCB_TIMED_WAIT |
mov eax, ebx |
call TCP_cancel_timers |
mov [ebx + TCP_SOCKET.timer_timed_wait], 2 * TCP_time_MSL |
mov eax, ebx |
call SOCKET_is_disconnected |
;;soisdisconnected(ebx) |
jmp .ack_processed |
|
|
1155,8 → 1152,6 |
.ack_la: |
jz .ack_processed |
|
|
mov eax, ebx |
call TCP_close |
jmp .drop |
|