Gerhard Lipp | 24 Apr 09:05 2012

missing message with ZMQ_FD / ZMQ_EVENTS


I can observe the same behavior as stated here
What I observe is also a REP/XREQ (ROUTER/DEALER) prob, where the
XREQ is waiting forever to receive a message (which has been handed
over to ZMQ via zmq_send by a REP). When I poll (timer based) the
ZMQ_EVENTs of the XREQ, it is readable as expected. The select never
returns the respective fd though. The process selecting the XREQ
process is doing a lot of other ZMQ IO with other sockets.

I am using libev (select based) for doing IO and I am aware of the
edge-based trigger behaviour (I am
reading/forwarding messages until ZMQ_EVENTs does not include the
ZMQ_POLLIN bit any more).

What is the status of this issue?
Unfortunately my setup is a bit complicated to share, but i would like
to help as much as possible. E.g. I could "instrument" the code with
prints, but I could not figure out, where to look.
"process_activate_reader" may be my friend?


A libev workaround is to use both EV_READ and EV_WRITE bits, though
this adds a lot of unnecessary wake ups / callbacks etc.