Subversion Repositories Kolibri OS

Rev

Rev 5565 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5565 Rev 5984
Line 21... Line 21...
21
timer_flag_2msl                 = 1 shl 2
21
timer_flag_2msl                 = 1 shl 2
22
timer_flag_persist              = 1 shl 3
22
timer_flag_persist              = 1 shl 3
23
timer_flag_wait                 = 1 shl 4
23
timer_flag_wait                 = 1 shl 4
Line 24... Line -...
24
 
-
 
25
 
-
 
26
;----------------------
-
 
27
; 160 ms timer
24
 
Line 28... Line 25...
28
;----------------------
25
 
29
macro   TCP_timer_160ms {
26
macro   TCP_timer_160ms {
Line 148... Line 145...
148
 
145
 
Line 149... Line 146...
149
        DEBUGF  DEBUG_NETWORK_VERBOSE, "socket %x: 2MSL timer expired\n", eax
146
        DEBUGF  DEBUG_NETWORK_VERBOSE, "socket %x: 2MSL timer expired\n", eax
150
 
147
 
151
  .check_more5:
148
  .check_more5:
152
        dec     [eax + TCP_SOCKET.timer_persist]
149
        dec     [eax + TCP_SOCKET.timer_persist]
153
        jnz     .loop
150
        jnz     .check_more6
Line 154... Line 151...
154
        test    [eax + TCP_SOCKET.timer_flags], timer_flag_persist
151
        test    [eax + TCP_SOCKET.timer_flags], timer_flag_persist
Line 155... Line 152...
155
        jz      .loop
152
        jz      .check_more6
156
 
153
 
157
        DEBUGF  DEBUG_NETWORK_VERBOSE, "socket %x: persist timer expired\n", eax
154
        DEBUGF  DEBUG_NETWORK_VERBOSE, "socket %x: persist timer expired\n", eax
158
 
155
 
159
        call    TCP_set_persist
156
        call    TCP_set_persist
160
        mov     [eax + TCP_SOCKET.t_force], 1
157
        mov     [eax + TCP_SOCKET.t_force], 1
Line -... Line 158...
-
 
158
        push    eax
-
 
159
        call    TCP_output
-
 
160
        pop     eax
-
 
161
        mov     [eax + TCP_SOCKET.t_force], 0
161
        push    eax
162
 
Line 162... Line -...
162
        call    TCP_output
-
 
-
 
163
  .check_more6:
Line -... Line 164...
-
 
164
        dec     [eax + TCP_SOCKET.timer_timed_wait]
-
 
165
        jnz     .loop
-
 
166
        test    [eax + TCP_SOCKET.timer_flags], timer_flag_wait
Line -... Line 167...
-
 
167
        jz      .loop
Line 163... Line 168...
163
        pop     eax
168
 
Line -... Line 169...
-
 
169
        DEBUGF  DEBUG_NETWORK_VERBOSE, "socket %x: timed wait timer expired\n", eax
-
 
170
 
-
 
171
        push    [eax + SOCKET.NextPtr]
-
 
172
        call    TCP_close
-
 
173
        pop     eax
-
 
174
 
-
 
175
        jmp     .check_only
-
 
176
 
-
 
177
endp
-
 
178
 
-
 
179
 
164
        mov     [eax + TCP_SOCKET.t_force], 0
180
;-----------------------------------------------------------------;
Line 165... Line 181...
165
 
181
;                                                                 ;
Line 166... Line 182...
166
        jmp     .loop
182
; TCP_cancel_timers                                               ;
167
 
183
;                                                                 ;