[sr-dev] [kamailio/kamailio] Small patch to handle PyEval_InitThreads() unnecessary in Python >=3.7 and deprecated in Python >= 3.9 (#2626)

Anthony Messina notifications at github.com
Sat Feb 6 04:26:26 CET 2021


Small patch to handle deprecated PyEval_InitThreads().  See https://docs.python.org/3/c-api/init.html#c.PyEval_InitThreads

```
 src/modules/app_python3/app_python3_mod.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/modules/app_python3/app_python3_mod.c b/src/modules/app_python3/app_python3_mod.c
index 502a6d540b..0ce93b71cd 100644
--- a/src/modules/app_python3/app_python3_mod.c
+++ b/src/modules/app_python3/app_python3_mod.c
@@ -346,7 +346,9 @@ int apy_load_script(void)
 	}
 
 	Py_Initialize();
+#if PY_VERSION_HEX < 0x03070000
 	PyEval_InitThreads();
+#endif
 	myThreadState = PyThreadState_Get();
 
 	PY_GIL_ENSURE;

```

#### Build Log Messages
```
make[2]: Entering directory '/builddir/build/BUILD/kamailio-5.4.3/src/modules/app_python3'
gcc -fPIC -DPIC -g -funroll-loops -Wcast-align -m64 -minline-all-stringops -falign-loops -ftree-vectorize -fno-strict-overflow -mtune=generic -pthread -DKSR_PTHREAD_MUTEX_SHARED -Wall    -DNAME='"kamailio"' -DVERSION='"5.4.3-6.gitdbe358d2d0.fc33"' -DARCH='"x86_64"' -DOS='linux_' -DOS_QUOTED='"linux"' -DCOMPILER='"gcc 10.2.1"' -D__CPU_x86_64 -D__OS_linux -DVERSIONVAL=5004003 -DCFG_DIR='"/etc/kamailio/"' -DSHARE_DIR='"/usr/share/kamailio/"' -DRUN_DIR='"/run/kamailio/"' -DPKG_MALLOC -DSHM_MMAP -DDNS_IP_HACK -DUSE_MCAST -DUSE_TCP -DDISABLE_NAGLE -DHAVE_RESOLV_RES -DUSE_DNS_CACHE -DUSE_DNS_FAILOVER -DUSE_DST_BLACKLIST -DUSE_NAPTR -DWITH_XAVP -DMEM_JOIN_FREE -DF_MALLOC -DQ_MALLOC -DTLSF_MALLOC -DDBG_SR_MEMORY -DUSE_TLS -DTLS_HOOKS -DUSE_CORE_STATS -DSTATISTICS -DMALLOC_STATS -DUSE_SCTP -DFAST_LOCK -DADAPTIVE_WAIT -DADAPTIVE_WAIT_LOOPS=1024 -DCC_GCC_LIKE_ASM -DHAVE_GETHOSTBYNAME2 -DHAVE_UNION_SEMUN -DHAVE_SCHED_YIELD -DHAVE_MSG_NOSIGNAL -DHAVE_MSGHDR_MSG_CONTROL -DHAVE_ALLOCA_H -DHAVE_TIMEGM -DHAVE_SCHED_SETSCHEDULER -DHAVE_IP_MREQN -DUSE_RAW_SOCKS -DHAVE_EPOLL -DHAVE_SIGIO_RT -DSIGINFO64_WORKARROUND -DUSE_FUTEX -DHAVE_SELECT  -I/usr/include/python3.9 -I/usr/include/python3.9 -DMOD_NAME='"app_python3"' -c app_python3_mod.c -o app_python3_mod.o -MMD -MP
app_python3_mod.c: In function 'apy_load_script':
app_python3_mod.c:349:2: warning: 'PyEval_InitThreads' is deprecated [-Wdeprecated-declarations]
  349 |  PyEval_InitThreads();
      |  ^~~~~~~~~~~~~~~~~~
In file included from /usr/include/python3.9/Python.h:145,
                 from app_python3_mod.c:22:
/usr/include/python3.9/ceval.h:130:37: note: declared here
  130 | Py_DEPRECATED(3.9) PyAPI_FUNC(void) PyEval_InitThreads(void);
```

### Additional Information

  * **Kamailio Version** - output of `kamailio -v`

```
version: kamailio 5.4.3-6.gitdbe358d2d0.fc33.1 (x86_64/linux) e19ae3
flags: USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST, HAVE_RESOLV_RES, TLS_PTHREAD_MUTEX_SHARED
ADAPTIVE_WAIT_LOOPS 1024, MAX_RECV_BUFFER_SIZE 262144, MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: e19ae3 
compiled on 00:00:00 Feb  5 2021 with gcc 10.2.1
```

* **Operating System**:

```
Fedora 33 Linux 5.10.12-200.fc33.x86_64 #1 SMP Mon Feb 1 02:40:52 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
```


-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/2626
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-dev/attachments/20210205/4316ec2e/attachment.htm>


More information about the sr-dev mailing list