[zeromq-dev] PATCH: zmq::signaler_t should not assert on EINTR

Martin Sustrik sustrik at 250bpm.com
Thu Aug 5 20:10:25 CEST 2010


Mato,

The fix looks OK IMO.

> Now there is one thing left which is that when my application handles
> SIGINT and attempts to correctly close all sockets and do a zmq_term(), I
> occasionally get the following assertion during the close():
> 
> Assertion failed: !more || pipes [current] != pipe_ (lb.cpp:48)
> 
> I'm assuming that this happens becase the socket that is being closed had
> been left by the application in a bogus state where it started sending a
> multipart message but did not finish it. Martin, is this correct?

Yes. That seems to be the case. It should be handled decently, but I'm 
now in process of rewriting thread migration & shutdown code. I have 
10,000 lines of codes in my short-term memory and can't look at anything 
else the whole cache gets garbled :(

Martin



More information about the zeromq-dev mailing list