[Asterisk-code-review] Revert "chan_dahdi: set CHANNEL(hangupsource) when a PRI channel hang... (asterisk[17.1])

Friendly Automation asteriskteam at digium.com
Wed Dec 18 09:42:32 CST 2019


Friendly Automation has submitted this change. ( https://gerrit.asterisk.org/c/asterisk/+/13456 )

Change subject: Revert "chan_dahdi: set CHANNEL(hangupsource) when a PRI channel hangs up"
......................................................................

Revert "chan_dahdi: set CHANNEL(hangupsource) when a PRI channel hangs up"

There are reports that this commit causes deadlocks when issuing
a "pri show" CLI command and a channel is in the process of being
hung up.  Further work is in progress to determine the cause of
the deadlock and provide a permanent fix.

ASTERISK~28605  #keeping open
Reported by: Dirk Wendland

This reverts commit c6b17b521231dde9da890d95ee705c93953bab8c.

Change-Id: Iddd900c1abdd5074ff39c17cdce855f2f436cef9
---
M channels/sig_pri.c
1 file changed, 3 insertions(+), 14 deletions(-)

Approvals:
  George Joseph: Looks good to me, approved
  Friendly Automation: Approved for Submit



diff --git a/channels/sig_pri.c b/channels/sig_pri.c
index 4c70c6b..8dd3207 100644
--- a/channels/sig_pri.c
+++ b/channels/sig_pri.c
@@ -1391,25 +1391,14 @@
  */
 static void sig_pri_queue_hangup(struct sig_pri_span *pri, int chanpos)
 {
-	struct ast_channel *owner;
-
 	if (sig_pri_callbacks.queue_control) {
 		sig_pri_callbacks.queue_control(pri->pvts[chanpos]->chan_pvt, AST_CONTROL_HANGUP);
 	}
 
 	sig_pri_lock_owner(pri, chanpos);
-	owner = pri->pvts[chanpos]->owner;
-	if (owner) {
-		ao2_ref(owner, +1);
-		ast_queue_hangup(owner);
-		ast_channel_unlock(owner);
-
-		/* Tell the CDR this DAHDI channel hung up */
-		sig_pri_unlock_private(pri->pvts[chanpos]);
-		ast_set_hangupsource(owner, ast_channel_name(owner), 0);
-		sig_pri_lock_private(pri->pvts[chanpos]);
-
-		ao2_ref(owner, -1);
+	if (pri->pvts[chanpos]->owner) {
+		ast_queue_hangup(pri->pvts[chanpos]->owner);
+		ast_channel_unlock(pri->pvts[chanpos]->owner);
 	}
 }
 

-- 
To view, visit https://gerrit.asterisk.org/c/asterisk/+/13456
To unsubscribe, or for help writing mail filters, visit https://gerrit.asterisk.org/settings

Gerrit-Project: asterisk
Gerrit-Branch: 17.1
Gerrit-Change-Id: Iddd900c1abdd5074ff39c17cdce855f2f436cef9
Gerrit-Change-Number: 13456
Gerrit-PatchSet: 1
Gerrit-Owner: George Joseph <gjoseph at digium.com>
Gerrit-Reviewer: Friendly Automation
Gerrit-Reviewer: George Joseph <gjoseph at digium.com>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-code-review/attachments/20191218/fd15d011/attachment.html>


More information about the asterisk-code-review mailing list