summaryrefslogtreecommitdiffstats
path: root/Modules/_interpreters_common.h
diff options
context:
space:
mode:
authorEric Snow <ericsnowcurrently@gmail.com>2024-02-13 21:56:49 (GMT)
committerGitHub <noreply@github.com>2024-02-13 21:56:49 (GMT)
commit514b1c91b8651e8ab9129a34b7482033d2fd4e5b (patch)
tree11a091856f2b7f3ec65009b5b9de4e424a2a79bc /Modules/_interpreters_common.h
parent206f73dc5f1b4c3c81119808aa7fd9038661cf90 (diff)
downloadcpython-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.h13
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);
+}