Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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.

share|improve this question
Please read And I believe this question doesnt belong here – thefourtheye Apr 23 '13 at 14:41
@thefourtheye Development questions are allowed here see this question on meta. Though you may get a better response from a programming site such as: – Warren Hill Apr 23 '13 at 15:24

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.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.