I am implementing a server simulation program and want to check if anything was received via a recv from a TCP/IP socket witout waiting. When I place the MSG_DONTWAIT flag, recv returns a length of -1 and errno of "Resource temproarily anavialable". the call works when the MSG_WAITALL flag is used.
Asked
Active
Viewed 1.8k times
3
-
Please read http://askubuntu.com/faq#questions. And I believe this question doesnt belong here – thefourtheye Apr 23 '13 at 14:41
-
1@thefourtheye Development questions are allowed here see this question on meta. Though you may get a better response from a programming site such as: http://programmers.stackexchange.com/questions – Warren Hill Apr 23 '13 at 15:24
1 Answers
5
This is not an error but an expected behavior. The documentation of MSG_DONTWAIT states:
If no data is available, then instead of blocking, return immediately with the error EAGAIN.
Which means that you should wait for and handle such situation.
Check here for the reference and here for a similar discussion.

Stef K
- 4,836