Subversion Repositories Kolibri OS

Rev

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

Rev 3704 Rev 5358
Line 761... Line 761...
761
; 2. Read UDP datagram.
761
; 2. Read UDP datagram.
762
        mov     ecx, [edi+__gai_reqdata.socketnum]
762
        mov     ecx, [edi+__gai_reqdata.socketnum]
763
        push    edi
763
        push    edi
764
        mcall   75, 7, , , 512, MSG_DONTWAIT
764
        mcall   75, 7, , , 512, MSG_DONTWAIT
765
        pop     edi
765
        pop     edi
766
; 3. Ignore events for other socketnums (return if no data read)
766
; 3. Check for socket errors
767
        test    eax, eax
767
        cmp     eax, -1
-
 
768
        jne     @f
-
 
769
        cmp     ebx, EWOULDBLOCK
768
        jz      .ret.more_processing_required
770
        je      .ret.more_processing_required
-
 
771
        jmp     .ret.no_recovery
-
 
772
  @@:
769
; 4. Sanity check: discard too short packets.
773
; 4. Sanity check: discard too short packets.
770
        xchg    ecx, eax        ; save packet length in ecx
774
        xchg    ecx, eax        ; save packet length in ecx
771
        cmp     ecx, 12
775
        cmp     ecx, 12
772
        jb      .ret.more_processing_required
776
        jb      .ret.more_processing_required
773
; 5. Discard packets with ID != request ID.
777
; 5. Discard packets with ID != request ID.