On 2020-04-21 11:01, Antoine Pitrou wrote:
On Mon, 20 Apr 2020 19:21:21 -0600
Eric Snow <ericsnowcurren...@gmail.com> wrote:
Honest question: how many C extensions have process-global state that
will cause problems under subinterpreters?  In other words, how many
already break in mod_wsgi?

A slightly tricky question is what happens if a PyObject survives
longer than the subinterpreter that created it.

For example, in PyArrow, we allow passing a Python buffer-like object
as a C++ buffer to C++ APIs.  The C++ buffer could conceivably be kept
around by C++ code for some time.  When the C++ buffer is destroyed,
Py_DECREF() is called on the Python object (I figure that we would have
to switch to the future interpreter-aware PyGILState API -- when will
it be available?).


But what happens if the interpreter which created
the Python object is already destroyed at this point?

That's a good question. What happens today if someone calls Py_Finalize while the buffer is still around?

I don't think you need to treat *sub*interpreters specially.
_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/AVJO43PRTX4UCMLI2PNHMZWWBEGZS353/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to