Hello,
I've started testing/learning KEMI and decide to use python3(s). I'm using default
config with kamailio-basic-kemi-python3s.py (just deleted a couple of routes for
simplicity). First thing I noticed is that reloading is not working. I've changed
simple log line and did kamcmd app_python3s.reload. I'm compiling from source (inside
Docker container, Debian bookworm as base), and have noticed it stopped working after
thees commits for python3s:
62b4ee4a0d0b62b35c8bdf67e5daf9cbe9a28499 app_python3s: refactor GIL and thread state
handling
c81b2b3383c5900aba83672da024c812d8e6d89d app_python3s: initial support for free-threading
Python
And for python3
0ffe157bc13e7759ae1cee63a584fad4ac9eb38f app_python3: refactor GIL and thread state
handling
Am I missing some new parameter for module or compile flag? What I've noticed it's
not only that it not reload, it also does not go through complete config file.
While reloading, I see marking for reload. But nothing after that:
22(774) DEBUG: ctl [../../core/io_wait.h:368]: io_watch_add(): processing
io_watch_add(0x748d1dfb83c0, 11, 3, 0x5f0adde454d0) - fd_no=1
22(774) DEBUG: ctl [io_listener.c:438]: handle_new_connect(): new connection (1) on
/var/run/kamailio//kamailio_ctl
22(774) DEBUG: ctl [io_listener.c:499]: handle_stream_read(): bytes read: 29
22(774) INFO: app_python3s [apy3s_kemi.c:868]: app_python3s_rpc_reload(): marking for
reload Python script file: /etc/kamailio/kamailio-basic-kemi-python3s.py (0 => 1)
22(774) DEBUG: ctl [io_listener.c:520]: handle_stream_read(): bytes processed: 29
22(774) DEBUG: ctl [io_listener.c:496]: handle_stream_read(): handle_stream read: eof on
/var/run/kamailio//kamailio_ctl
22(774) DEBUG: ctl [../../core/io_wait.h:599]: io_watch_del(): DBG: io_watch_del
(0x748d1dfb83c0, 11, -1, 0x10) fd_no=2 called