diff options
author | Eric Snow <ericsnowcurrently@gmail.com> | 2023-10-04 22:35:27 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-04 22:35:27 (GMT) |
commit | 80dc39e1dc2abc809f448cba5d2c5b9c1c631e11 (patch) | |
tree | b34868d1758ef90007c4e0b1ff46a4156dfee4d6 /Python/importdl.c | |
parent | e561e9805854980a61967d07869b4ec4205b32c8 (diff) | |
download | cpython-80dc39e1dc2abc809f448cba5d2c5b9c1c631e11.zip cpython-80dc39e1dc2abc809f448cba5d2c5b9c1c631e11.tar.gz cpython-80dc39e1dc2abc809f448cba5d2c5b9c1c631e11.tar.bz2 |
gh-110310: Add a Per-Interpreter XID Registry for Heap Types (gh-110311)
We do the following:
* add a per-interpreter XID registry (PyInterpreterState.xidregistry)
* put heap types there (keep static types in _PyRuntimeState.xidregistry)
* clear the registries during interpreter/runtime finalization
* avoid duplicate entries in the registry (when _PyCrossInterpreterData_RegisterClass() is called more than once for a type)
* use Py_TYPE() instead of PyObject_Type() in _PyCrossInterpreterData_Lookup()
The per-interpreter registry helps preserve isolation between interpreters. This is important when heap types are registered, which is something we haven't been doing yet but I will likely do soon.
Diffstat (limited to 'Python/importdl.c')
0 files changed, 0 insertions, 0 deletions