[asterisk-dev] [Code Review] Deadlock between dahdi_exception and dahdi_indicate
rmudgett at digium.com
rmudgett at digium.com
Mon Oct 11 14:52:36 CDT 2010
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/971/
-----------------------------------------------------------
Review request for Asterisk Developers.
Summary
-------
There is a deadlock between dahdi_exception and dahdi_indicate for analog ports. The call-waiting and three-way-calling feature can experience deadlock if these features are trying to do something and an event from the bridged channel happens at the same time.
I have not been able to reproduce the deadlock. However, I can see the deadlock in the code.
This addresses bug 16847.
https://issues.asterisk.org/view.php?id=16847
Diffs
-----
/branches/1.8/channels/chan_dahdi.c 291115
/branches/1.8/channels/sig_analog.h 291115
/branches/1.8/channels/sig_analog.c 291115
Diff: https://reviewboard.asterisk.org/r/971/diff
Testing
-------
Call waiting:
A -- B (B answered or originated call with A)
C -> B (CW)
B can toggle between A and C using a flash hook.
A or C can hangup when they are the active or held call.
B can hangup to drop the active call and get a recall ring to retrieve the party on hold.
Three way calling:
A -- B (A answered or originated call with B)
A flash hooks to dial C.
A -> C
A can hangup to transfer B to C (Before or after C answers)
A can flash hook to connect A, B, and C together for three way call.
A can hangup after three way established to transfer call to B and C.
Features still worked.
Thanks,
rmudgett
More information about the asterisk-dev
mailing list