aboutsummaryrefslogtreecommitdiffstats
path: root/channels/chan_zap.c
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-09-10 15:11:38 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-09-10 15:11:38 +0000
commit2b772ac9646c71e87a787047a311c7e5b61a2d07 (patch)
treeba1d864f82199845aab6a2f174aa6d3b8d844ac7 /channels/chan_zap.c
parentd1fab10737f98b505b68db7849a15206c6390539 (diff)
Properly lock management stuff (bug #2406)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@3759 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_zap.c')
-rwxr-xr-xchannels/chan_zap.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/channels/chan_zap.c b/channels/chan_zap.c
index d6749540c..e17af276a 100755
--- a/channels/chan_zap.c
+++ b/channels/chan_zap.c
@@ -8511,7 +8511,7 @@ static int action_zapshowchannels(struct mansession *s, struct message *m)
while (tmp) {
if (tmp->channel > 0) {
int alarm = get_alarms(tmp);
-
+ ast_mutex_lock(&s->lock);
ast_cli(s->fd,
"Event: ZapShowChannels\r\n"
"Channel: %d\r\n"
@@ -8522,6 +8522,7 @@ static int action_zapshowchannels(struct mansession *s, struct message *m)
"\r\n",
tmp->channel, sig2str(tmp->sig), tmp->context,
alarm2str(alarm), idText);
+ ast_mutex_unlock(&s->lock);
}
tmp = tmp->next;
@@ -8529,12 +8530,13 @@ static int action_zapshowchannels(struct mansession *s, struct message *m)
ast_mutex_unlock(&iflock);
+ ast_mutex_lock(&s->lock);
ast_cli(s->fd,
"Event: ZapShowChannelsComplete\r\n"
"%s"
"\r\n",
idText);
-
+ ast_mutex_unlock(&s->lock);
return 0;
}