Subversion Repositories Kolibri OS

Rev

Rev 7974 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 7974 Rev 8026
Line 12... Line 12...
12
;;          GNU GENERAL PUBLIC LICENSE                             ;;
12
;;          GNU GENERAL PUBLIC LICENSE                             ;;
13
;;             Version 2, June 1991                                ;;
13
;;             Version 2, June 1991                                ;;
14
;;                                                                 ;;
14
;;                                                                 ;;
15
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
15
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 16... Line 16...
16
 
16
 
Line 17... Line 17...
17
$Revision: 7974 $
17
$Revision: 8026 $
18
 
18
 
19
align 4
19
align 4
20
iglobal
20
iglobal
Line 183... Line 183...
183
        DEBUGF  DEBUG_NETWORK_VERBOSE, "TCP_disconnect: %x\n", eax
183
        DEBUGF  DEBUG_NETWORK_VERBOSE, "TCP_disconnect: %x\n", eax
Line 184... Line 184...
184
 
184
 
185
        cmp     [eax + TCP_SOCKET.t_state], TCPS_ESTABLISHED
185
        cmp     [eax + TCP_SOCKET.t_state], TCPS_ESTABLISHED
Line -... Line 186...
-
 
186
        jb      tcp_close       ; Connection not yet synchronised, just get rid of the socket
-
 
187
 
-
 
188
        test    [eax + SOCKET.options], SO_LINGER
186
        jb      tcp_close       ; Connection not yet synchronised, just get rid of the socket
189
        jz      .nolinger
-
 
190
 
-
 
191
; TODO: implement LINGER
Line -... Line 192...
-
 
192
;        cmp     [eax + SOCKET.so_linger], 0
187
 
193
;        je     TCP_drop
-
 
194
 
-
 
195
  .nolinger:
-
 
196
        call    socket_is_disconnecting
-
 
197
 
-
 
198
        push    eax
-
 
199
        add     eax, STREAM_SOCKET.rcv
-
 
200
        mov     ecx, [eax + RING_BUFFER.size]
188
; TODO: implement LINGER
201
        call    socket_ring_free
Line 189... Line 202...
189
 
202
        pop     eax
190
        call    socket_is_disconnecting
203
 
191
        call    tcp_usrclosed
204
        call    tcp_usrclosed