[zeromq-dev] ETIMEDOUT when doing a non-blocking recv

Chuck Remes cremes.devlist at mac.com
Fri Jan 6 19:56:41 CET 2012


I am periodically receiving ETIMEDOUT (errno 60) when doing a non-blocking read from either a SUB socket or a DEALER/XREQ socket. What can I assume from this error?

My guess is that the socket has recently tried to connect to another socket (in this particular case,*everything* is using 'inproc' transport and they only bind once at startup) and it timed out. Because zmq_connect() is async, we don't actually see the error until we try to zmq_send()/zmq_recv() with that socket. At that point the error is delivered.

Is that assumption correct? If so, what can I do about it?

OS => OSX
libzmq => 2.1.11
ulimit -n => 400000

At the time of the error, there has usually been about 2-3k xreq sockets opened & closed with around 200 being open at any given moment.

cr




More information about the zeromq-dev mailing list