[issue43503] [subinterpreters] PyObject statics exposed in the limited API break isolation.

STINNER Victor report at bugs.python.org
Wed Mar 17 10:14:59 EDT 2021


STINNER Victor <vstinner at python.org> added the comment:

Eric Snow proposes that C extensions which want to be compatible with subinterpreters must use an hypothetical variant of the C API which doesn't inherit flaws of the current C API. For example, static types like "&PyLong_Type" would be excluded.

To be clear, the limited C API does expose (indirectly) "&PyLong_Type". We are talking about a new variant of the C API.

The main interpreter would continue to use its static type "&PyLong_Type", whereas each subinterpreter would get its own "int" type allocated on the heap (heap type).

Someone has to write a PoC to ensure that this idea works in practice.

In bpo-40601, I proposed that all interpreters including the main interpreter only use heap types: remove "&PyLong_Type" from the C API which is a backward incompatible C API change.

----------

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue43503>
_______________________________________


More information about the Python-bugs-list mailing list