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.
E
Eric Snow committed
80dc39e1dc2abc809f448cba5d2c5b9c1c631e11
Parent: e561e98
Committed by GitHub <noreply@github.com>
on 10/4/2023, 10:35:27 PM