I can confirm that kamailio works perfectly without PTHREAD_MUTEX: ``` Version: kamailio 4.4.5 (x86_64/freebsd) f98162 Default config: /usr/local/etc/kamailio/kamailio.cfg Default paths to modules: /usr/local/lib/kamailio/modules Compile flags: STATS: Off, USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST, HAVE_RESOLV_RES MAX_RECV_BUFFER_SIZE=262144 MAX_LISTEN=16 MAX_URI_SIZE=1024 BUF_SIZE=65535 DEFAULT PKG_SIZE=8MB DEFAULT SHM_SIZE=64MB ADAPTIVE_WAIT_LOOPS=1024 TCP poll methods: poll, select, kqueue Source code revision ID: f98162 Compiled with: clang 3.4 Compiled on: 12:45:18 Mar 15 2017 ``` I've found diff between build from src and using ports framework - it's target arch: when it builds from src **make cfg** shows: `target architecture <x86_64>, host architecture <x86_64>`
when it builds from ports it shows: `target architecture <amd64>, host architecture <x86_64>`
In last case Makefile.defs did know nothing about arch amd64 and that's why use_fast_lock hasn't set to yes and that's why PTHREAD_MUTEX was used.
But it is another story, where I and **opsec** will try to do something this it.
Daniel, thanks for your help and patience!