[zeromq-dev] event monitors and multiple io threads

Ben Gray ben at benjamg.com
Wed Jan 9 16:06:05 CET 2013

I have been adding more event monitoring into a fork of 3.2.2 for
auditing at where I work and so far I've been unable to find how the
socket::monitor_event calls are thread safe.

As far as I can tell they are called via the socket::event_* functions
from a number of different io_objects which can happily exist on
different io threads.
If someone could point me in the correct direction then I can make
sure my new events don't break anything important.

The particular example I was tracing through is a bound push socket
which selects, based on load, one io thread for the tcp_listener and
then a potentially different io thread for each stream_engine
generated from accepting incoming connections. Both of these objects
are appear to have the same socket pointer and call event methods when
things happen.


More information about the zeromq-dev mailing list