[zeromq-dev] using zmq socket fd with epoll

Rajiv Shukla rajiv at edgestreamlp.com
Fri Jun 26 15:50:15 CEST 2020


We have been grappling with a zmq issue that I was hoping might ring a bell
here on the dev list.
- We are using zmq in a python app.
- We have a receiver that opens a socket of type zmq.PAIR via
- We have an epoll_wait based event loop in our app where we monitor this
zmq socket for input activity.
- The zmq socket fd is found via *socket.get(zmq.FD) - *The issue we are
having is that often epoll_wait sees no activity on the socket fd even
though we know a message was received. In order to investigate further, we
ran strace on the application and found that what we call is zmq socket fd
is an [eventfd] type of descriptor and a notification using this descriptor
is sent from the zmq i/o thread by writing 8 bytes to it. This triggers our
own eventloop to return from epoll_wait. From time to time, however, it
appears that the zmq i/o thread does not write to this descriptor until
multiple messages have been received which causes our own eventloop to not
get notification of data arrival in time.

Does this ring a bell? Any idea what might be going on or how we can solve
this? I'll be happy to provide more info.

Thanks. -- Rajiv

The information transmitted is intended only for the person(s) or entity to 
which it is addressed and may contain confidential and/or privileged 
material. Any review, retransmission, dissemination or other use of, or 
taking of any action in reliance upon, this information by persons or 
entities other than the intended recipient is prohibited. If you received 
this in error, please contact the sender and delete the material from any 
computer. Email transmission cannot be guaranteed to be secure or 


This information is not intended and should not be construed as 
investment, tax or legal advice or an offer or solicitation to buy or sell 
any security. Any offer or solicitation for any private investment fund 
advised by Edgestream Partners, L.P. or any of its affiliates may only be 
made by delivery of its confidential offering documents to qualified 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20200626/34d32162/attachment.htm>

More information about the zeromq-dev mailing list