forked from KolibriOS/kolibrios
Fixed bug with TCP_close
git-svn-id: svn://kolibrios.org@2882 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
7fa293ff87
commit
a105ce8fd8
@ -511,6 +511,7 @@ ARP_IP_to_MAC:
|
||||
ret
|
||||
|
||||
.invalid:
|
||||
DEBUGF 1,"ARP entry has no valid mapping!\n"
|
||||
mov eax, -1
|
||||
ret
|
||||
|
||||
|
@ -1525,8 +1525,6 @@ SOCKET_free:
|
||||
call mutex_lock
|
||||
popa
|
||||
|
||||
DEBUGF 1, "SOCKET_free: freeing socket..\n"
|
||||
|
||||
cmp [eax + SOCKET.Domain], AF_INET4
|
||||
jnz .no_tcp
|
||||
|
||||
|
@ -815,7 +815,7 @@ align 4
|
||||
test [edx + TCP_header.Flags], TH_RST
|
||||
jz .rst_skip
|
||||
|
||||
DEBUGF 1,"Got an RST flag"
|
||||
DEBUGF 1,"Got an RST flag\n"
|
||||
|
||||
mov eax, [ebx + TCP_SOCKET.t_state]
|
||||
shl eax, 2
|
||||
@ -835,21 +835,21 @@ align 4
|
||||
dd .rst_close ;TCPS_TIMED_WAIT
|
||||
|
||||
.econnrefused:
|
||||
DEBUGF 1,"Connection refused"
|
||||
DEBUGF 1,"Connection refused\n"
|
||||
|
||||
mov [ebx + SOCKET.errorcode], ECONNREFUSED
|
||||
jmp .close
|
||||
|
||||
.econnreset:
|
||||
DEBUGF 1,"Connection reset"
|
||||
DEBUGF 1,"Connection reset\n"
|
||||
|
||||
mov [ebx + SOCKET.errorcode], ECONNRESET
|
||||
|
||||
.close:
|
||||
DEBUGF 1,"Closing connection"
|
||||
DEBUGF 1,"Closing connection\n"
|
||||
|
||||
mov [ebx + TCP_SOCKET.t_state], TCPS_CLOSED
|
||||
;;; TODO: update stats
|
||||
;;; TODO: update stats (tcp drops)
|
||||
mov eax, ebx
|
||||
call TCP_close
|
||||
jmp .drop
|
||||
@ -1200,7 +1200,7 @@ align 4
|
||||
|
||||
|
||||
mov eax, ebx
|
||||
call TCP_close
|
||||
call TCP_disconnect
|
||||
jmp .drop
|
||||
|
||||
|
||||
|
@ -183,10 +183,8 @@ TCP_close:
|
||||
|
||||
;;; TODO: update RTT and mean deviation
|
||||
;;; TODO: update slow start threshold
|
||||
;;; TODO: release connection resources
|
||||
|
||||
call SOCKET_is_disconnected
|
||||
call SOCKET_free
|
||||
|
||||
ret
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user