[zeromq-dev] [pyzmq] Cython vs CFFI backends

gonzalo diethelm gdiethelm at dcv.cl
Mon Apr 14 13:43:41 CEST 2014


Yes, I agree that something as simple as a bunch of printf statements (maybe controlled by an #ifdef) could make debugging this kind of problem a lot easier. Then you could convert those into automatic sanity checks (again, maybe controlled by an #ifdef) so that 0mq has more awareness of misuse.

Perhaps you could use your recently acquired experience to contribute a first cut to this...

--
Gonzalo Diethelm
DCV Chile

From: zeromq-dev-bounces at lists.zeromq.org [mailto:zeromq-dev-bounces at lists.zeromq.org] On Behalf Of Michi Henning
Sent: Sunday, April 13, 2014 7:41 PM
To: ZeroMQ development list
Subject: Re: [zeromq-dev] [pyzmq] Cython vs CFFI backends

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. <alexander at thequery.net<mailto:alexander at thequery.net>> 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
alexander at thequery.net<mailto:alexander at thequery.net>
_______________________________________________
zeromq-dev mailing list
zeromq-dev at lists.zeromq.org<mailto:zeromq-dev at lists.zeromq.org>
http://lists.zeromq.org/mailman/listinfo/zeromq-dev





----------------------------------------- 
Declaración de confidencialidad: Este Mensaje esta destinado para
el uso de la o las personas o entidades a quien ha sido dirigido y
puede contener información reservada y confidencial que no puede
ser divulgada, difundida, ni aprovechada en forma alguna. El uso no
autorizado de la información contenida en este correo podrá ser
sancionado de conformidad con la ley chilena. 
Si usted ha recibido este correo electrónico por error, le pedimos
eliminarlo junto con los archivos adjuntos y avisar inmediatamente
al remitente, respondiendo este mensaje. 

"Before printing this e-mail think if is really necesary".
Disclosure: This Message is to be used by the individual,
individuals or entities that it is addressed to and may include
private and confidential information that may not be disclosed,
made public nor used in any way at all. Unauthorized use of the
information in this electronic mail message may be subject to the
penalties set forth by Chilean law. 
If you have received this electronic mail message in error, we ask
you to destroy the message and its attached file(s) and to
immediately notify the sender by answering this message. 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20140414/3acb1d28/attachment.htm>


More information about the zeromq-dev mailing list