diff options
author | Eric Snow <ericsnowcurrently@gmail.com> | 2024-02-13 21:56:49 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-13 21:56:49 (GMT) |
commit | 514b1c91b8651e8ab9129a34b7482033d2fd4e5b (patch) | |
tree | 11a091856f2b7f3ec65009b5b9de4e424a2a79bc /Modules/_interpreters_common.h | |
parent | 206f73dc5f1b4c3c81119808aa7fd9038661cf90 (diff) | |
download | cpython-514b1c91b8651e8ab9129a34b7482033d2fd4e5b.zip cpython-514b1c91b8651e8ab9129a34b7482033d2fd4e5b.tar.gz cpython-514b1c91b8651e8ab9129a34b7482033d2fd4e5b.tar.bz2 |
gh-76785: Improved Subinterpreters Compatibility with 3.12 (gh-115424)
For the most part, these changes make is substantially easier to backport subinterpreter-related code to 3.12, especially the related modules (e.g. _xxsubinterpreters). The main motivation is to support releasing a PyPI package with the 3.13 capabilities compiled for 3.12.
A lot of the changes here involve either hiding details behind macros/functions or splitting up some files.
Diffstat (limited to 'Modules/_interpreters_common.h')
-rw-r--r-- | Modules/_interpreters_common.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/Modules/_interpreters_common.h b/Modules/_interpreters_common.h new file mode 100644 index 0000000..5661a26 --- /dev/null +++ b/Modules/_interpreters_common.h @@ -0,0 +1,13 @@ + +#define _RESOLVE_MODINIT_FUNC_NAME(NAME) \ + PyInit_ ## NAME +#define RESOLVE_MODINIT_FUNC_NAME(NAME) \ + _RESOLVE_MODINIT_FUNC_NAME(NAME) + + +static int +ensure_xid_class(PyTypeObject *cls, crossinterpdatafunc getdata) +{ + //assert(cls->tp_flags & Py_TPFLAGS_HEAPTYPE); + return _PyCrossInterpreterData_RegisterClass(cls, getdata); +} |