@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/1876830555(a)github.com>