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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user