Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 3599 → Rev 3600

/kernel/trunk/network/tcp_output.inc
93,7 → 93,7
jmp .no_force
 
.no_zero_window:
mov [eax + TCP_SOCKET.timer_persist], 0
and [ebx + TCP_SOCKET.timer_flags], not timer_flag_persist
mov [eax + TCP_SOCKET.t_rxtshift], 0
 
.no_force:
125,7 → 125,7
jnz @f
 
; cancel pending retransmit
mov [eax + TCP_SOCKET.timer_retransmission], 0
and [ebx + TCP_SOCKET.timer_flags], not timer_flag_retransmission
 
; pull SND_NXT back to (closed) window, We will enter persist state below.
push [eax + TCP_SOCKET.SND_UNA]
268,11 → 268,12
 
cmp [eax + STREAM_SOCKET.snd.size], 0 ; Data ready to send?
jne @f
cmp [eax + TCP_SOCKET.timer_retransmission], 0
and [ebx + TCP_SOCKET.timer_flags], not timer_flag_retransmission
jne @f
cmp [eax + TCP_SOCKET.timer_persist], 0 ; Persist timer already expired?
jne @f
 
test [ebx + TCP_SOCKET.timer_flags], timer_flag_persist ; Persist timer already expired?
jnz @f
 
DEBUGF DEBUG_NETWORK_VERBOSE, "TCP_output: Entering persist state\n"
 
mov [eax + TCP_SOCKET.t_rxtshift], 0
512,19 → 513,19
@@:
 
; set retransmission timer if not already set, and not doing an ACK or keepalive probe
test [eax + TCP_SOCKET.timer_flags], timer_flag_retransmission
jnz .retransmit_set
 
cmp [eax + TCP_SOCKET.timer_retransmission], 0 ;;;; FIXME
ja .retransmit_set
 
cmp edx, [eax + TCP_SOCKET.SND_UNA] ; edx is still [eax + TCP_SOCKET.SND_NXT]
je .retransmit_set
 
mov edx, [eax + TCP_SOCKET.t_rxtcur]
mov [eax + TCP_SOCKET.timer_retransmission], edx
or [ebx + TCP_SOCKET.timer_flags], timer_flag_retransmission
 
cmp [eax + TCP_SOCKET.timer_persist], 0
jne .retransmit_set
mov [eax + TCP_SOCKET.timer_persist], 0
test [eax + TCP_SOCKET.timer_flags], timer_flag_persist
jz .retransmit_set
and [ebx + TCP_SOCKET.timer_flags], not timer_flag_persist
mov [eax + TCP_SOCKET.t_rxtshift], 0
 
.retransmit_set:
593,6 → 594,7
pop eax
 
mov [eax + TCP_SOCKET.timer_retransmission], TCP_time_re_min
or [ebx + TCP_SOCKET.timer_flags], timer_flag_retransmission
 
lea ecx, [eax + SOCKET.mutex]
call mutex_unlock