[zeromq-dev] Race condition in tcp_socket_t

Martin Sustrik sustrik at 250bpm.com
Fri Nov 12 17:32:12 CET 2010


On 11/12/2010 05:15 PM, Christian Gudrian wrote:
> Am 12.11.2010 17:10, schrieb Martin Sustrik:
>
>> No, that should not happen.
>
> Who is supposed to prevent this?

The socket is part of an engine (zmq_engine_t). The engine lives in an 
I/O thread. Once it it's lifetime (when connection initialisation is 
over) the engine is migrated from one I/O thread to another (if you have 
more that 1 I/O thread of course). Otherwise, no thread-related trickery 
is involved. The object effectively lives in single threaded environment.

Can you possibly get the backtraces for the two threads accessing the 
same tcp_socket_t the in parallel?

Martin



More information about the zeromq-dev mailing list