forked from KolibriOS/kolibrios
More bugfixes for SOCKET_notify.
git-svn-id: svn://kolibrios.org@4528 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
6e6f7a23d3
commit
91ae4fdcf8
@ -697,7 +697,7 @@ SOCKET_close:
|
|||||||
|
|
||||||
test [eax + SOCKET.state], SS_BLOCKED ; Is the socket still in blocked state?
|
test [eax + SOCKET.state], SS_BLOCKED ; Is the socket still in blocked state?
|
||||||
jz @f
|
jz @f
|
||||||
call SOCKET_notify.unblock ; Unblock it.
|
call SOCKET_notify ; Unblock it.
|
||||||
@@:
|
@@:
|
||||||
|
|
||||||
cmp [eax + SOCKET.Domain], AF_INET4
|
cmp [eax + SOCKET.Domain], AF_INET4
|
||||||
@ -1776,12 +1776,12 @@ SOCKET_notify:
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
.error:
|
.error:
|
||||||
DEBUGF DEBUG_NETWORK_VERBOSE, "SOCKET_notify: invalid socket ptr: 0x%x !\n", eax
|
DEBUGF DEBUG_NETWORK_ERROR, "SOCKET_notify: invalid socket ptr: 0x%x !\n", eax
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.found:
|
.found:
|
||||||
test [eax + SOCKET.state], SS_BLOCKED
|
test [eax + SOCKET.state], SS_BLOCKED
|
||||||
jnz .unblock
|
jnz .un_block
|
||||||
|
|
||||||
; socket and thread exists and socket is of non blocking type.
|
; socket and thread exists and socket is of non blocking type.
|
||||||
; We'll try to flag an event to the thread.
|
; We'll try to flag an event to the thread.
|
||||||
@ -1793,7 +1793,7 @@ SOCKET_notify:
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
.unblock:
|
.un_block:
|
||||||
; socket and thread exists and socket is of blocking type
|
; socket and thread exists and socket is of blocking type
|
||||||
; We'll try to unblock it.
|
; We'll try to unblock it.
|
||||||
and [eax + SOCKET.state], not SS_BLOCKED ; Clear the 'socket is blocked' flag
|
and [eax + SOCKET.state], not SS_BLOCKED ; Clear the 'socket is blocked' flag
|
||||||
|
@ -186,7 +186,7 @@ TCP_connect:
|
|||||||
mov eax, [esp+4]
|
mov eax, [esp+4]
|
||||||
mov [eax + SOCKET.errorcode], ETIMEDOUT
|
mov [eax + SOCKET.errorcode], ETIMEDOUT
|
||||||
and [eax + SOCKET.state], not SS_ISCONNECTING
|
and [eax + SOCKET.state], not SS_ISCONNECTING
|
||||||
call SOCKET_notify.unblock
|
call SOCKET_notify
|
||||||
ret 4
|
ret 4
|
||||||
|
|
||||||
.fail:
|
.fail:
|
||||||
|
Loading…
Reference in New Issue
Block a user