33 lines
1.2 KiB
Diff
33 lines
1.2 KiB
Diff
|
From 4fb75b73c902deae5a4805bb9e4ea6451952183e Mon Sep 17 00:00:00 2001
|
||
|
From: Mattias Ellert <mattias.ellert@physics.uu.se>
|
||
|
Date: Tue, 24 Oct 2023 15:59:02 +0200
|
||
|
Subject: [PATCH] Adapt to changed function name in Python 3.13
|
||
|
|
||
|
According to https://docs.python.org/3.13/whatsnew/3.13.html:
|
||
|
|
||
|
Add PyThreadState_GetUnchecked() function: similar to
|
||
|
PyThreadState_Get(), but don't kill the process with a fatal error if
|
||
|
it is NULL. The caller is responsible to check if the result is
|
||
|
NULL. Previously, the function was private and known as
|
||
|
_PyThreadState_UncheckedGet().
|
||
|
---
|
||
|
include/pybind11/detail/type_caster_base.h | 4 +++-
|
||
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
||
|
|
||
|
diff --git a/include/pybind11/detail/type_caster_base.h b/include/pybind11/detail/type_caster_base.h
|
||
|
index fc5f1c88b3..68512b5bd0 100644
|
||
|
--- a/include/pybind11/detail/type_caster_base.h
|
||
|
+++ b/include/pybind11/detail/type_caster_base.h
|
||
|
@@ -486,8 +486,10 @@ PYBIND11_NOINLINE handle get_object_handle(const void *ptr, const detail::type_i
|
||
|
inline PyThreadState *get_thread_state_unchecked() {
|
||
|
#if defined(PYPY_VERSION)
|
||
|
return PyThreadState_GET();
|
||
|
-#else
|
||
|
+#elif PY_VERSION_HEX < 0x030D0000
|
||
|
return _PyThreadState_UncheckedGet();
|
||
|
+#else
|
||
|
+ return PyThreadState_GetUnchecked();
|
||
|
#endif
|
||
|
}
|
||
|
|