Hi Nick,

On 22 May 2014 11:23, Nick Williams <[email protected]> wrote:
> The problem is induced when the C++ code in the module (having been invoked 
> from a Python thread) prepares to call back into Python again by calling 
> PyGILState_Ensure.

The documentation of PyGILState_Ensure() says, indeed, that it's ok to
call this function even if the current thread already owns the GIL.
If PyPy's version deadlocks in this case, then it's a bug of PyPy.
Please file it as a bug (https://bitbucket.org/pypy/pypy/issues; also
look a bit in case a similar bug would be already reported and waiting
there).  You can also try to look in the implementation of
PyGILState_Ensure() to make sure.

(Sorry for the delay in answering, this is part of "cpyext", a part of
PyPy that is missing a more dedicated person that would improve it.
We still try to fix bugs if they come with a detailed step-by-step
guide on how to reproduce them or a test case.)


A bientôt,

Armin.
_______________________________________________
pypy-dev mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-dev

Reply via email to