Aaron,
On 06/12/2015 07:10 PM, Aaron Hamstra wrote:
I tried to just add a #!define ENABLE_ASYNC_MUTEX and the issue remains....
In this case, the committer's comment that "it can be enabled by defining ENABLE_ASYNC_MUTEX" does not refer to preprocessor #!defines within the Kamailio route script, but rather preprocessor defines within the C source code, from which the former take their inspiration. :-)
sasha@saurus:~/kamailio$ fgrep -HR ENABLE_ASYNC_MUTEX . ./modules/tm/h_table.h:#ifdef ENABLE_ASYNC_MUTEX ./modules/tm/lock.c:#ifdef ENABLE_ASYNC_MUTEX ./modules/tm/lock.c:#ifdef ENABLE_ASYNC_MUTEX ./modules/tm/lock.c:#ifdef ENABLE_ASYNC_MUTEX ./modules/tm/lock.c:#ifdef ENABLE_ASYNC_MUTEX ./modules/tm/lock.c:#ifdef ENABLE_ASYNC_MUTEX ./modules/tm/lock.c:#endif /* ENABLE_ASYNC_MUTEX */ ./modules/tm/t_suspend.c:#ifdef ENABLE_ASYNC_MUTEX ./ChangeLog: - it can be enabled by defining ENABLE_ASYNC_MUTEX
So, if that's a bit you want to toggle, so to speak, you'll want to go into modules/tm/defs.h and add:
#define ENABLE_ASYNC_MUTEX
Be sure to do so between these lines:
#ifndef _TM_DEFS_H #define _TM_DEFS_H
...
#define ENABLE_ASYNC_MUTEX 1 /* you add this */
#endif
And don't confuse the Kamailio-style #!define with the C-style #define -- in this case, you want the latter.
Then, rebuild the 'tm' module by executing a 'make install' in that directory, and restart Kamailio.