On Jul 9, 2012, at 2:17 PM, Thomas S Hatch wrote:
> Yes, they are, here is the code:
> https://github.com/saltstack/salt/blob/develop/salt/minion.py#L470
>
> I do not doubt that I have made a mistake in here
I see that you are unregistering, closing the socket, and then immediately
creating a new socket with the same IDENTITY.
I did not see any code setting the LINGER option to drop packets, so if a late
packet arrives I suppose it could cause that zmq_close() to hang.
Alternately, reusing the IDENTITY before the socket is completely closed (an
async operation) may be a cause. Any chance you can close the socket and then
schedule (within your loop) the creation of a replacement socket a few
milliseconds later?
These are just two guesses based on 5m review of the code. I hope it sparks an
idea or a new avenue to pursue.
cr
_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev