[asterisk-dev] [Code Review] 4342: CHANNEL(peer), chan_iax2, res_fax, SNMP agent: Fix deadlock from reaching across a bridge.
rmudgett
reviewboard at asterisk.org
Thu Jan 15 12:33:48 CST 2015
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/4342/
-----------------------------------------------------------
(Updated Jan. 15, 2015, 12:33 p.m.)
Review request for Asterisk Developers.
Changes
-------
Address Matt's comments.
Bugs: ASTERISK-24600
https://issues.asterisk.org/jira/browse/ASTERISK-24600
Repository: Asterisk
Description (updated)
-------
Calling ast_channel_bridge_peer() cannot be done while holding any channel
locks. The reported issue hit the deadlock in chan_iax2, but an audit of
the ast_channel_bridge_peer() calls found three more locations where the
same deadlock can occur.
* Made CHANNEL(peer), res_fax, and the SNMP agent not call
ast_channel_bridge_peer() with any channel locked. For CHANNEL(peer) I
had to rework the logic to not hold the channel lock.
* Made chan_iax2 no longer call ast_channel_bridge_peer(). It was done
for legacy reasons that no longer apply.
* Removed the iax.conf forcejitterbuffer option. It is now always enabled
when the jitterbuffer option is enabled. If you put a jitter buffer on a
channel it will be on the channel.
Diffs (updated)
-----
/branches/13/res/snmp/agent.c 430688
/branches/13/res/res_fax.c 430688
/branches/13/funcs/func_channel.c 430688
/branches/13/configs/samples/iax.conf.sample 430688
/branches/13/channels/chan_iax2.c 430688
/branches/13/UPGRADE.txt 430688
Diff: https://reviewboard.asterisk.org/r/4342/diff/
Testing
-------
Testsuite tests still pass for FAX. The full testsuite didn't hit any deadlock.
Thanks,
rmudgett
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20150115/a690eb05/attachment.html>
More information about the asterisk-dev
mailing list