1
0
mirror of https://gitlab.com/libvirt/libvirt-python.git synced 2025-12-01 08:23:47 +03:00

Avoid use of thread function deprecated in 3.9

PyEval_ThreadsInitialized was deprecated in 3.9, with deletion targetted
for 3.11. Furthermore since 3.7 it is guaranteed that threads are always
initialized by Py_Initialize(), so checking it is redundant.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
Daniel P. Berrangé
2020-11-12 13:30:23 +00:00
parent 4a6f381bd9
commit 2035a5e2f1

View File

@@ -255,28 +255,48 @@ PyObject * libvirt_virDomainSnapshotPtrWrap(virDomainSnapshotPtr node);
# endif /* !(__GNUC__ && !__STRICT_ANSI__ && !__cplusplus) */
#endif
#define LIBVIRT_BEGIN_ALLOW_THREADS \
#if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION < 7
# define LIBVIRT_BEGIN_ALLOW_THREADS \
LIBVIRT_STMT_START { \
PyThreadState *_save = NULL; \
if (PyEval_ThreadsInitialized()) \
_save = PyEval_SaveThread();
#define LIBVIRT_END_ALLOW_THREADS \
# define LIBVIRT_END_ALLOW_THREADS \
if (PyEval_ThreadsInitialized()) \
PyEval_RestoreThread(_save); \
} LIBVIRT_STMT_END
#define LIBVIRT_ENSURE_THREAD_STATE \
# define LIBVIRT_ENSURE_THREAD_STATE \
LIBVIRT_STMT_START { \
PyGILState_STATE _save = PyGILState_UNLOCKED; \
if (PyEval_ThreadsInitialized()) \
_save = PyGILState_Ensure();
#define LIBVIRT_RELEASE_THREAD_STATE \
# define LIBVIRT_RELEASE_THREAD_STATE \
if (PyEval_ThreadsInitialized()) \
PyGILState_Release(_save); \
} LIBVIRT_STMT_END
#else
# define LIBVIRT_BEGIN_ALLOW_THREADS \
LIBVIRT_STMT_START { \
PyThreadState *_save = PyEval_SaveThread();
# define LIBVIRT_END_ALLOW_THREADS \
PyEval_RestoreThread(_save); \
} LIBVIRT_STMT_END
# define LIBVIRT_ENSURE_THREAD_STATE \
LIBVIRT_STMT_START { \
PyGILState_STATE _save = PyGILState_Ensure();
# define LIBVIRT_RELEASE_THREAD_STATE \
PyGILState_Release(_save); \
} LIBVIRT_STMT_END
#endif
#ifndef NULLSTR
#define NULLSTR(s) ((s) ? (s) : "<null>")
#endif