From: Diederik de G. <dk...@ta...> - 2011-06-03 06:21:00
|
Hi Stefan, Looks like a nice deadlock to needs to be solved. Thread1 sccp_pbx.c : sccp_pbx_hangup -> ast_hangup -> locks ast_channel(0x1f5b540) sccp_pbx_hangup -> waiting for lock sccp_channel(0x1f5a3b0) Thread2 sccp_pbx.c: sccp_pbx_call_autoanswer_thread -> sccp_channel_find_byid_locked-> locks sccp_channel(0x1f5a3b0) ast_builtin_getvar_helper -> waiting for lock (0x1f5b540)\ Solution would be to lock the ast_channel before the sccp_channel in in both cases. This would solve the order problem and prevent the deadlock. I have updated the trunk version, with this changed lock strategy for sccp_pbx_call_autoanswer_thread. Can you give it another try ? Regards, Diederik P.S. Marcello can you check the change i made in sccp_pbx.c ? On Fri, 2011-06-03 at 08:25 +0300, Stefan Gofferje wrote: > pbx_builtin_getvar_helper |