Subversion Repositories Kolibri OS

Rev

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

Rev 3644 Rev 3652
Line 33... Line 33...
33
        push    eax
33
        push    eax
34
        lea     ecx, [eax + SOCKET.mutex]
34
        lea     ecx, [eax + SOCKET.mutex]
35
        call    mutex_lock
35
        call    mutex_lock
36
        pop     eax
36
        pop     eax
Line -... Line 37...
-
 
37
 
-
 
38
        DEBUGF  DEBUG_NETWORK_VERBOSE, "TCP_output: socket locked\n"
37
 
39
 
38
; We'll detect the length of the data to be transmitted, and flags to be used
40
; We'll detect the length of the data to be transmitted, and flags to be used
39
; If there is some data, or any critical controls to send (SYN / RST), then transmit
41
; If there is some data, or any critical controls to send (SYN / RST), then transmit
Line 40... Line 42...
40
; Otherwise, investigate further
42
; Otherwise, investigate further
Line 214... Line 216...
214
        push    ecx
216
        push    ecx
215
        mov     cl, [eax + TCP_SOCKET.RCV_SCALE]
217
        mov     cl, [eax + TCP_SOCKET.RCV_SCALE]
216
        mov     ebx, TCP_max_win
218
        mov     ebx, TCP_max_win
217
        shl     ebx, cl
219
        shl     ebx, cl
218
        pop     ecx
220
        pop     ecx
-
 
221
 
219
        cmp     ebx, ecx
222
        cmp     ebx, ecx
220
        jb      @f
223
        jb      @f
221
        mov     ebx, ecx
224
        mov     ebx, ecx
222
       @@:
225
       @@:
223
        sub     ebx, [eax + TCP_SOCKET.RCV_ADV]
226
        sub     ebx, [eax + TCP_SOCKET.RCV_ADV]
Line 569... Line 572...
569
        and     [eax + TCP_SOCKET.t_flags], not (TF_ACKNOW + TF_DELACK)
572
        and     [eax + TCP_SOCKET.t_flags], not (TF_ACKNOW + TF_DELACK)
Line 570... Line 573...
570
 
573
 
571
;--------------
574
;--------------
Line -... Line 575...
-
 
575
; unlock socket
-
 
576
 
572
; unlock socket
577
        DEBUGF  DEBUG_NETWORK_VERBOSE, "TCP_send: unlocking socket 0x%x\n", eax
573
 
578
 
574
        push    eax
579
        push    eax
575
        lea     ecx, [eax + SOCKET.mutex]
580
        lea     ecx, [eax + SOCKET.mutex]
Line 605... Line 610...
605
        or      eax, -1
610
        or      eax, -1
606
        ret
611
        ret
Line 607... Line 612...
607
 
612
 
608
 
613
 
-
 
614
  .send_error:
Line 609... Line 615...
609
  .send_error:
615
        add     esp, 4
610
        add     esp, 8
616
        pop     eax
Line 611... Line 617...
611
 
617