From d7fa19a999d2ccffe5580ecdafe306d2b9efcce9 Mon Sep 17 00:00:00 2001
From: Richard Mudgett <rmudgett@digium.com>
Date: Thu, 6 Aug 2009 19:52:11 +0000
Subject: [PATCH] Sanity adjustments to pri_ss_thread for sig_pri environment.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@210866 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 channels/sig_pri.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/channels/sig_pri.c b/channels/sig_pri.c
index 4e824c7eb7..af280b594a 100644
--- a/channels/sig_pri.c
+++ b/channels/sig_pri.c
@@ -601,11 +601,16 @@ static void *pri_ss_thread(void *data)
 	int len;
 	int timeout;
 
+	if (!chan) {
+		/* We lost the owner before we could get started. */
+		return NULL;
+	}
+
 	/*
 	 * In the bizarre case where the channel has become a zombie before we
 	 * even get started here, abort safely.
 	 */
-	if (!p) {
+	if (!chan->tech_pvt) {
 		ast_log(LOG_WARNING, "Channel became a zombie before simple switch could be started (%s)\n", chan->name);
 		ast_hangup(chan);
 		return NULL;
@@ -666,7 +671,7 @@ static void *pri_ss_thread(void *data)
 exit:
 	res = sig_pri_play_tone(p, SIG_PRI_TONE_CONGESTION);
 	if (res < 0)
-			ast_log(LOG_WARNING, "Unable to play congestion tone on channel %d\n", p->channel);
+		ast_log(LOG_WARNING, "Unable to play congestion tone on channel %d\n", p->channel);
 	ast_hangup(chan);
 	return NULL;
 }
-- 
GitLab