On Sun, Apr 13, 2014 at 3:29 PM, 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?
>

Any deviation of the CFFI backend from the Cython backend should be
considered a bug (zero-copy support being the one exception).

It doesn't make much sense to set LINGER in term because:

- linger can only be set on sockets before closing them
- the only way for term to be called with open sockets and not block
forever is if those sockets are active in other threads
- if sockets are active in other threads, they should not be touched
because sockets are not threadsafe

I have [removed](https://github.com/zeromq/pyzmq/pull/528) the
inappropriate `linger` arg from Context.term in the cffi backend.


>
> More generally, is PyPy the only reason one would use the CFFI backend?
> That is, can I compile pyzmq to use CFFI with CPython?
>

PyPy support is the reason the CFFI backend exists, though technically you
can use the CFFI backend with CPython. It is not officially supported, nor
would I recommend anyone use this combination.


> And do we have a published list of differences/features supported by the
> two backends?
>

The only known difference is a lack of support for zero-copy support in the
CFFI backend. Anything else is probably a bug.

-MinRK


>
> 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