@space88man: thanks for digging deep into this one!

I am fine to try the proposed approach in the PR #3696 and see how it goes, the 
only question would be about the impact of other libs that link behind with 
libssl, like libcurl or libmysqlclient. Does a similar approach needs for the 
modules linked with such libraries?

Regarding multi-threading in Kamailio, there are couple of modules already 
using threads, like `lwsc`, `secsipid/_proc`. Issues with multi-threading and 
multi-processing is when there are active threads at `fork()` time, but if I 
got right the PR #3696, the process with rank 0 waits for the created 
libssl-initialization thread to terminate. Thats why secsipid_proc was split 
out of secsipid, to bind to it after fork(), which then initialize the golang 
library (that creates internally threads for memory management). lwsc creates 
threads only inside child processes, which is after fork().

-- 
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3695#issuecomment-1876830555
You are receiving this because you are subscribed to this thread.

Message ID: <kamailio/kamailio/issues/3695/1876830...@github.com>
_______________________________________________
Kamailio (SER) - Development Mailing List
To unsubscribe send an email to sr-dev-le...@lists.kamailio.org

Reply via email to