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. |