]> sigrok.org Git - libsigrokdecode.git/commitdiff
srd: drop deprecated PyEval_InitThreads() on Python 3.9+
authorSascha Silbe <redacted>
Mon, 23 Oct 2023 20:21:38 +0000 (22:21 +0200)
committerGerhard Sittig <redacted>
Mon, 23 Oct 2023 20:29:16 +0000 (22:29 +0200)
`PyEval_InitThreads()` is called implicitly during `Py_InitializeEx()`
since Python 3.7. It has been deprecated since 3.9 and dropped in
3.13.

[ gsi: touch up comment style ]

srd.c

diff --git a/srd.c b/srd.c
index 35ec5f2e9b7761f8847d957affd0935b2ed39677..10dfaf6c1db5690dbc00917f580aba1adf08c176 100644 (file)
--- a/srd.c
+++ b/srd.c
@@ -302,8 +302,14 @@ SRD_API int srd_init(const char *path)
                g_strfreev(dir_list);
        }
 
-       /* Initialize the Python GIL (this also happens to acquire it). */
+#if PY_VERSION_HEX < 0x03090000
+       /*
+        * Initialize and acquire the Python GIL. In Python 3.7+ this
+        * will be done implicitly as part of the Py_InitializeEx()
+        * call above. PyEval_InitThreads() was deprecated in 3.9.
+        */
        PyEval_InitThreads();
+#endif
 
        /* Release the GIL (ignore return value, we don't need it here). */
        (void)PyEval_SaveThread();