From 83fdaa72f7001d2f2260b81ea15e0bdcb14b3124 Mon Sep 17 00:00:00 2001 From: markster Date: Wed, 28 Sep 2005 23:10:14 +0000 Subject: Remove possibility of manager deadlocks from manager actions git-svn-id: http://svn.digium.com/svn/asterisk/trunk@6687 f38db490-d61c-443f-a65b-d21fe96a405b --- channels/chan_agent.c | 3 --- channels/chan_iax2.c | 2 -- channels/chan_sip.c | 11 ++--------- channels/chan_zap.c | 4 ---- 4 files changed, 2 insertions(+), 18 deletions(-) (limited to 'channels') diff --git a/channels/chan_agent.c b/channels/chan_agent.c index bf6de0805..e23a4f61f 100755 --- a/channels/chan_agent.c +++ b/channels/chan_agent.c @@ -1381,7 +1381,6 @@ static int action_agents(struct mansession *s, struct message *m) astman_send_ack(s, m, "Agents will follow"); ast_mutex_lock(&agentlock); p = agents; - ast_mutex_lock(&s->lock); while(p) { ast_mutex_lock(&p->lock); @@ -1440,8 +1439,6 @@ static int action_agents(struct mansession *s, struct message *m) ast_cli(s->fd, "Event: AgentsComplete\r\n" "%s" "\r\n",idText); - ast_mutex_unlock(&s->lock); - return 0; } diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index fd02cb749..371a8a8e1 100755 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -4239,10 +4239,8 @@ static int manager_iax2_show_peers( struct mansession *s, struct message *m ) { char *a[] = { "iax2", "show", "users" }; int ret; - ast_mutex_lock(&s->lock); ret = iax2_show_peers( s->fd, 3, a ); ast_cli( s->fd, "\r\n\r\n" ); - ast_mutex_unlock(&s->lock); return ret; } /* /JDG */ diff --git a/channels/chan_sip.c b/channels/chan_sip.c index b1903fc56..484aed24e 100755 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -4502,8 +4502,8 @@ static void build_contact(struct sip_pvt *p) static void build_rpid(struct sip_pvt *p) { int send_pres_tags = 1; - const char *privacy; - const char *screen; + const char *privacy=NULL; + const char *screen=NULL; char buf[256]; const char *clid = default_callerid; const char *clin = NULL; @@ -7267,13 +7267,11 @@ static int manager_sip_show_peers( struct mansession *s, struct message *m ) /* List the peers in separate manager events */ _sip_show_peers(s->fd, &total, s, m, 3, a); /* Send final confirmation */ - ast_mutex_lock(&s->lock); ast_cli(s->fd, "Event: PeerlistComplete\r\n" "ListItems: %d\r\n" "%s" "\r\n", total, idtext); - ast_mutex_unlock(&s->lock); return 0; } @@ -7376,7 +7374,6 @@ static int _sip_show_peers(int fd, int *total, struct mansession *s, struct mess ntohs(iterator->addr.sin_port), status); } else { /* Manager format */ /* The names here need to be the same as other channels */ - ast_mutex_lock(&s->lock); ast_cli(fd, "Event: PeerEntry\r\n%s" "Channeltype: SIP\r\n" @@ -7396,8 +7393,6 @@ static int _sip_show_peers(int fd, int *total, struct mansession *s, struct mess (ast_test_flag(iterator, SIP_NAT) & SIP_NAT_ROUTE) ? "yes" : "no", /* NAT=yes? */ iterator->ha ? "yes" : "no", /* permit/deny */ status); - - ast_mutex_unlock(&s->lock); } ASTOBJ_UNLOCK(iterator); @@ -7691,7 +7686,6 @@ static int manager_sip_show_peer( struct mansession *s, struct message *m ) astman_send_error(s, m, "Peer: missing.\n"); return 0; } - ast_mutex_lock(&s->lock); a[0] = "sip"; a[1] = "show"; a[2] = "peer"; @@ -7701,7 +7695,6 @@ static int manager_sip_show_peer( struct mansession *s, struct message *m ) ast_cli(s->fd, "ActionID: %s\r\n",id); ret = _sip_show_peer(1, s->fd, s, m, 4, a ); ast_cli( s->fd, "\r\n\r\n" ); - ast_mutex_unlock(&s->lock); return ret; } diff --git a/channels/chan_zap.c b/channels/chan_zap.c index f1c3594cc..84c2e43a2 100755 --- a/channels/chan_zap.c +++ b/channels/chan_zap.c @@ -9862,7 +9862,6 @@ 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" @@ -9875,7 +9874,6 @@ static int action_zapshowchannels(struct mansession *s, struct message *m) tmp->channel, sig2str(tmp->sig), tmp->context, tmp->dnd ? "Enabled" : "Disabled", alarm2str(alarm), idText); - ast_mutex_unlock(&s->lock); } tmp = tmp->next; @@ -9883,13 +9881,11 @@ 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; } -- cgit v1.2.3