Subversion Repositories Kolibri OS

Rev

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

Rev 2893 Rev 2932
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: 2893 $
17
$Revision: 2932 $
18
 
18
 
19
;-----------------------------------------------------------------
19
;-----------------------------------------------------------------
20
;
20
;
Line 28... Line 28...
28
align 4
28
align 4
29
TCP_output:
29
TCP_output:
Line 30... Line 30...
30
 
30
 
Line 31... Line -...
31
        DEBUGF 1,"TCP_output: socket=%x\n", eax
-
 
32
 
-
 
33
        pushf
-
 
34
        cli
31
        DEBUGF 1,"TCP_output: socket=%x\n", eax
35
 
32
 
36
        pusha
33
        pusha
37
        lea     ecx, [eax + SOCKET.mutex]
34
        lea     ecx, [eax + SOCKET.mutex]
Line 276... Line 273...
276
 
273
 
277
        pusha
274
        pusha
278
        lea     ecx, [eax + SOCKET.mutex]
275
        lea     ecx, [eax + SOCKET.mutex]
279
        call    mutex_unlock
276
        call    mutex_unlock
280
        popa
-
 
Line 281... Line 277...
281
        popf
277
        popa
Line 536... Line 532...
536
        jne     TCP_output.again
532
        jne     TCP_output.again
Line 537... Line 533...
537
 
533
 
538
; unlock socket
534
; unlock socket
539
        lea     ecx, [eax + SOCKET.mutex]
535
        lea     ecx, [eax + SOCKET.mutex]
540
        call    mutex_unlock
536
        call    mutex_unlock
541
        popf
537
 
Line 542... Line 538...
542
        DEBUGF 1,"TCP_send: success!\n"
538
        DEBUGF 1,"TCP_send: success!\n"
543
 
539
 
Line 553... Line 549...
553
        mov     [eax + TCP_SOCKET.timer_retransmission], TCP_time_re_min
549
        mov     [eax + TCP_SOCKET.timer_retransmission], TCP_time_re_min
Line 554... Line 550...
554
 
550
 
555
; unlock socket
551
; unlock socket
556
        lea     ecx, [eax + SOCKET.mutex]
552
        lea     ecx, [eax + SOCKET.mutex]
557
        call    mutex_unlock
553
        call    mutex_unlock
558
        popf
554
 
Line 559... Line 555...
559
        DEBUGF 1,"TCP_send: IP error\n"
555
        DEBUGF 1,"TCP_send: IP error\n"
560
 
556
 
Line 561... Line 557...
561
        or      eax, -1
557
        or      eax, -1
562
        ret
558
        ret
563
 
559
 
564
  .send_error:
560
  .send_error:
565
        pop     eax
561
        pop     eax
566
; unlock socket
562
; unlock socket
567
        lea     ecx, [eax + SOCKET.mutex]
563
        lea     ecx, [eax + SOCKET.mutex]
Line 568... Line 564...
568
        call    mutex_unlock
564
        call    mutex_unlock
569
        popf
565