From f75a3079e03dc843e38e00926bdd1213be52155b Mon Sep 17 00:00:00 2001
From: Mark Spencer <markster@digium.com>
Date: Thu, 17 Jun 2004 14:51:44 +0000
Subject: [PATCH] Implement proper locking on INFO_RECEIVED

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

diff --git a/channels/chan_zap.c b/channels/chan_zap.c
index c98957e349..0303be1313 100755
--- a/channels/chan_zap.c
+++ b/channels/chan_zap.c
@@ -6965,6 +6965,7 @@ static void *pri_dchannel(void *vpri)
 				} else {
 					chanpos = pri_fixup_principle(pri, chanpos, e->ring.call);
 					if (chanpos > -1) {
+						ast_mutex_lock(&pri->pvts[x]->lock);
 						/* queue DTMF frame if the PBX for this call was already started (we're forwarding INFORMATION further on */
 						if (pri->overlapdial && pri->pvts[chanpos]->call==e->ring.call && pri->pvts[chanpos]->owner) {
 							/* how to do that */
@@ -6979,6 +6980,7 @@ static void *pri_dchannel(void *vpri)
 								}
 							}
 						}
+						ast_mutex_unlock(&pri->pvts[x]->lock);
 					}
 				}
 				break;
-- 
GitLab