[zeromq-dev] missing events ZMQ_FD / ZMQ_EVENTS
Paul Colomiets
paul at colomiets.name
Wed May 2 12:27:42 CEST 2012
Hi Gerhard,
On Wed, May 2, 2012 at 12:45 PM, Gerhard Lipp <gelipp at googlemail.com> wrote:
>
> I really appreciate any help and ideas to solve this issue! I just did
> not get the idea behind this attempt.
> Could you explain it in more detail (something particular to observe)?
>
Ok. Behind the scenes ZMQ_FD, is basically a counter, which wakes up
poll when is non-zero. The counter is reset on each getsockopt ZMQ_EVENTS,
zmq_send and zmq_recv.
The following diagram shows race condition with two sockets A and B,
in a scenario similar to yours:
https://docs.google.com/drawings/d/1F97jpdbYMjjb6-2VzRtiL2LpHy638-AEOyrUX84HL78/edit
Note: the last poll is entered with both counters set to zero, so it
will not wake up, despite the fact that there is pending message.
--
Paul
More information about the zeromq-dev
mailing list