lwIP - A Lightweight TCP/IP stack - Bugs: bug #28968, some request & DNS bug
You are not allowed to post comments on this tracker with your current authentication level.
bug #28968: some request & DNS bug
Submitter: | hanhui <hanhui03> | ||
Submitted: | Mon 22 Feb 2010 08:27:36 AM UTC | ||
Category: | None | Severity: | 3 - Normal |
Item Group: | Change Request | Status: | Fixed |
Privacy: | Public | Assigned to: | goldsimon |
Open/Closed: | Closed | Planned Release: | None |
lwIP version: | CVS Head |
Mon 22 Feb 2010 11:16:15 PM UTC, comment #4: |
David Empson <dempson> |
Mon 22 Feb 2010 07:45:44 PM UTC, comment #3: The documentation for setsockopt also says EWOULDBLOCK/EAGAIN:
|
Jeff Barber <jeffbabar> |
Mon 22 Feb 2010 07:10:05 PM UTC, comment #2:
|
Simon Goldschmidt <goldsimon> |
Mon 22 Feb 2010 08:45:53 AM UTC, comment #1: Fixed the dns bug, thanks for reporting. That's the problem with having too many configuration options: you always risk not compiling parts of the stack after making changes...
|
Simon Goldschmidt <goldsimon> |
Mon 22 Feb 2010 08:27:36 AM UTC, original submission:
|
hanhui <hanhui03> |
No files currently attached
Depends on the following items: None found
Items that depend on this one: None found
There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.
Follow 3 latest changes.
Date | Changed by | Updated Field | Previous Value | => | Replaced by |
---|---|---|---|---|---|
2010-02-22 | goldsimon | Status | None | Fixed | |
Assigned to | None | goldsimon | |||
Open/Closed | Open | Closed |
Powered by Savane 3.13-f8d8.
Corresponding source code
Mac OS X (derived from BSD Unix, and certified as standard Unix) appears to be the same as Linux.
If you use setsockopt() to enable SO_RCVTIMEO, and insufficient data is received, then recv() will return after the timeout period. If no data was received, recv() returns -1 and errno is set to EAGAIN (EWOULDBLOCK is #defined as EAGAIN). If some data was received (but not enough to satisfy the length parameter) then a reduced count is returned but no error is reported.
The ETIMEDOUT error means that the connection has timed out (hence is unusable), so it is a fatal error.
Regarding the Windows API: in a somewhat old copy of MSDN, I can't see mention of any mechanism for a timeout on recv(), and there is no SO_RCVTIMEO, so Windows doesn't have a defined error code for that situation (unless one has been added since 2001).