From 4f63ef635d88b6066a2c77558e5bc309553f3d99 Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 19 Nov 2020 23:27:46 +0200 Subject: [PATCH] panda: Remove PyEval_InitThreads calls when compiling against Python 3.9+ Cherry-pick from #1053 --- panda/src/event/pythonTask.cxx | 6 +++--- panda/src/pipeline/pythonThread.cxx | 6 +++--- panda/src/putil/pythonCallbackObject.cxx | 9 +++++---- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/panda/src/event/pythonTask.cxx b/panda/src/event/pythonTask.cxx index 6264345348..e6183c56dd 100644 --- a/panda/src/event/pythonTask.cxx +++ b/panda/src/event/pythonTask.cxx @@ -72,12 +72,12 @@ PythonTask(PyObject *func_or_coro, const std::string &name) : __dict__ = PyDict_New(); -#ifndef SIMPLE_THREADS +#if !defined(SIMPLE_THREADS) && defined(WITH_THREAD) && PY_VERSION_HEX < 0x03090000 // Ensure that the Python threading system is initialized and ready to go. -#ifdef WITH_THREAD // This symbol defined within Python.h + // WITH_THREAD symbol defined within Python.h + // PyEval_InitThreads is now a deprecated no-op in Python 3.9+ PyEval_InitThreads(); #endif -#endif } /** diff --git a/panda/src/pipeline/pythonThread.cxx b/panda/src/pipeline/pythonThread.cxx index 13b31e0539..066553eaea 100644 --- a/panda/src/pipeline/pythonThread.cxx +++ b/panda/src/pipeline/pythonThread.cxx @@ -38,12 +38,12 @@ PythonThread(PyObject *function, PyObject *args, set_args(args); -#ifndef SIMPLE_THREADS +#if !defined(SIMPLE_THREADS) && defined(WITH_THREAD) && PY_VERSION_HEX < 0x03090000 // Ensure that the Python threading system is initialized and ready to go. -#ifdef WITH_THREAD // This symbol defined within Python.h + // WITH_THREAD symbol defined within Python.h + // PyEval_InitThreads is now a deprecated no-op in Python 3.9+ PyEval_InitThreads(); #endif -#endif } /** diff --git a/panda/src/putil/pythonCallbackObject.cxx b/panda/src/putil/pythonCallbackObject.cxx index e8ef005c2e..3e185e8514 100644 --- a/panda/src/putil/pythonCallbackObject.cxx +++ b/panda/src/putil/pythonCallbackObject.cxx @@ -41,17 +41,18 @@ PythonCallbackObject(PyObject *function) { set_function(function); -#ifndef SIMPLE_THREADS +#if !defined(SIMPLE_THREADS) && defined(WITH_THREAD) // Ensure that the Python threading system is initialized and ready to go. -#ifdef WITH_THREAD // This symbol defined within Python.h #if PY_VERSION_HEX >= 0x03020000 Py_Initialize(); #endif +#if PY_VERSION_HEX < 0x03090000 + // PyEval_InitThreads is now a deprecated no-op in Python 3.9+ PyEval_InitThreads(); -#endif -#endif +#endif // PY_VERSION_HEX +#endif // WITH_THREAD } /**