131,7 → 131,6 |
timer_persist dd ? |
timer_keepalive dd ? ; keepalive/syn timeout |
timer_timed_wait dd ? ; also used as 2msl timer |
timer_connect dd ? |
|
; extra |
|
143,7 → 142,6 |
temp_bits db ? |
rb 3 ; align |
|
|
ends |
|
struct UDP_SOCKET IP_SOCKET |
618,10 → 616,8 |
|
.waitforit: |
push eax |
stdcall timer_hs, 300, 0, .timeout, eax ; FIXME: make timeout a constant |
pop ebx |
mov [ebx + TCP_SOCKET.timer_connect], eax |
mov eax, ebx |
stdcall timer_hs, 300, 0, .wake, eax ; FIXME: make timeout a constant |
pop eax |
|
.loop: |
cmp [eax + SOCKET.errorcode], 0 |
632,7 → 628,7 |
call SOCKET_block |
jmp .loop |
|
.timeout: |
.wake: |
mov eax, [esp+4] |
mov [eax + SOCKET.errorcode], ETIMEDOUT |
call SOCKET_notify.unblock |
645,7 → 641,6 |
ret |
|
.established: |
stdcall cancel_timer_hs, [eax + TCP_SOCKET.timer_connect] |
mov dword[esp+32], 0 |
ret |
|