[asterisk-dev] Interlocking of individual channels and the channels list in chan_sip.
Kirill Katsnelson
kkm at adaptiveai.com
Thu Jun 16 02:52:23 CDT 2011
On 110616 0041, Kirill Katsnelson wrote:
>the rule should be to never cause an attempted
> locking of the channels list while holding a lock on any channel. Correct?
Looks like it is not even specific to chan_sip: ast_channel_lock is
there ins ast_async_goto(). It seems that it is inherently
deadlock-prone: call ast_async_goto() on one thread with a
non-pbx-serviced channel, find_channel_...() on another, and there is a
chance to lock. All necessary locking happens in these function.
-kkm
More information about the asterisk-dev
mailing list