I just went through a similar experience. In my case, the problem was that 
close()
wasn't called from the same thread that created the socket.

You may find the explanations here useful:

http://zeromq.org/whitepapers:0mq-termination

Debugging these hands is a real pain. Is there anything that could be added to 
the Zmq API
to make this easier? For example, getting a list of unclosed sockets would be 
ultra-useful,
as would be warnings if a socket is closed from a thread other than the one 
that created it.

Cheers,

Michi.


On 14 Apr 2014, at 8:29 , Alexander S. <[email protected]> wrote:

> Hey all.
> 
> I am debugging a hang in my application: the ctx.linger option is set before 
> creating any sockets, but it still hangs on ctx.term().
> 
> While scanning the pyzmq code I noticed the CFFI backend supports passing a 
> linger parameter to the term() call whereas the Cython backend does not. This 
> does not appear to be documented. Is there a reason for this difference? Or 
> can I simply code up a pull request to add the linger parameter?
> 
> More generally, is PyPy the only reason one would use the CFFI backend? That 
> is, can I compile pyzmq to use CFFI with CPython? And do we have a published 
> list of differences/features supported by the two backends?
> 
> Lot's of questions. :) Thanks for the help!
> --------------------
> Alexander Sideropoulos
> [email protected]
> _______________________________________________
> zeromq-dev mailing list
> [email protected]
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev

_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to