3

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.

2

1 Answer 1

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.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .