I think I have found a bug in Asterisk 1.6.0 using libss7 which always causes a deadlock, I am not quite sure about my “bug”. I hope some “insiders” will check it out, thanks! The details are given below:
Asterisk SVN version: 156811
Source file: chan_dahdi.c
Function: static void *ss7_linkset(void *data)
Number of the offending lines: 9363 and 9399
Bug: ast_mutex_lock(&linkset->lock) has been called twice without unlocking, which will cause deadlock!
Suggested fix: move ast_mutex_lock(&linkset->lock) on line 9363 to just before line 9414