Summary:ASTERISK-19537: Deadlock potential in ast_do_masquerade() because it calls ast_indicate with the channel lock held.
Reporter:Richard Mudgett (rmudgett)Labels:
Date Opened:2012-03-14 17:15:14Date Closed:2012-06-04 13:42:20
Status:Closed/CompleteComponents:Channels/chan_local Core/Channels
Versions:Frequency of
is related toASTERISK-20933 No CDR created after call has been split and then bridged back
Description:Calling ast_indicate with the channel lock held can result in a deadlock with a local channel because of how local channels need to avoid deadlock.
Comments:By: Richard Mudgett (rmudgett) 2012-03-14 17:26:03.170-0500

The first call to ast_indicate() in ast_do_masquerade() has the deadlock potential.  The other calls should not be a problem because the channels are unlinked from the channel container at that point.