[email protected] said: > On 10/14/2010 1:33 AM, Martin Sustrik wrote: > > It's a different scenario. Oliver has a pending message that waits to be > > sent. > > > > Issue 85 has to do with a socket that haven't been closed. > Hmm - well, in that case, my attempt to duplicate the issue I'm having > failed. > > The origin of my problem is that my unit tests are randomly hanging > after exit. All of my sends and receives are very carefully matched, or > else the unit tests themselves would fail. > > How do I cancel all pending, outgoing messages? > > If there is no way to do this, then ZeroMQ 2.1 is essentially /broken/ > for everything except 'C' since the application will hang outside of the > programmer's control (above main()). And you've created a situation > where flow control is impossible; if I'm communicating with a thread > that crashes or tells me it's shutting down, well it's already too late > - I already put stuff on the send queue.
+1 This needs a SO_LINGER/ZMQ_LINGER option implemented. The semantics of this option are that you can set a maximum time a socket should stay around after it has been zmq_close()d by the application. If you set the time to 0 and close the socket, it goes away. This is all in the pipeline but the only person with enough zmq-core-fu to implement it is probably Martin Sustrik :-) -mato _______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
