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

Reply via email to