Resource Temporarily Unavailable
Description
Environment
Linux v3.0.0-12-generic
GCC v4.6.1
x86_64/amd64
Attachments
1
Activity
Show:

Amr Ali November 28, 2011 at 5:17 AM
Apologies for the confusion but after debugging further, I've found that the implementation of zmq_sendmsg has changed considerably and now zmq_sendmsg returns the number of bytes sent if successful instead of 0. And it is documented in the man pages.
I always get "Resource temporarily unavailable" when doing zmq_sendmsg() on PAIR/INPROC socket with rc == 8 and zmq_errno() == 11.
Here's what I've tried to mitigate that issue thinking that it might be the case
where the I/O threads don't have enough time to connect and send the message
(which if it was the case, which is not, should be handled internally).
I've added sleep(1) before zmq_sendmsg(). [no effect]
Added sleep(1) between bind() and connect(). [no effect]
Done both above. [no effect]
Applied the above for TCP. [no effect]
Applied all of the above for most socket types (e.g. REQ/REP, PUB/SUB,
PUSH/PULL). [no effect]
I've attached a unit test to reproduce that issue.