[Asterisk-cvs] asterisk/channels chan_agent.c, 1.154,
1.155 chan_iax2.c, 1.350, 1.351 chan_sip.c, 1.869,
1.870 chan_zap.c, 1.526, 1.527
markster
markster
Wed Sep 28 19:13:37 CDT 2005
Update of /usr/cvsroot/asterisk/channels
In directory mongoose.digium.com:/tmp/cvs-serv7993/channels
Modified Files:
chan_agent.c chan_iax2.c chan_sip.c chan_zap.c
Log Message:
Remove possibility of manager deadlocks from manager actions
Index: chan_agent.c
===================================================================
RCS file: /usr/cvsroot/asterisk/channels/chan_agent.c,v
retrieving revision 1.154
retrieving revision 1.155
diff -u -d -r1.154 -r1.155
--- chan_agent.c 26 Sep 2005 02:04:07 -0000 1.154
+++ chan_agent.c 28 Sep 2005 23:10:13 -0000 1.155
@@ -1381,7 +1381,6 @@
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 @@
ast_cli(s->fd, "Event: AgentsComplete\r\n"
"%s"
"\r\n",idText);
- ast_mutex_unlock(&s->lock);
-
return 0;
}
Index: chan_iax2.c
===================================================================
RCS file: /usr/cvsroot/asterisk/channels/chan_iax2.c,v
retrieving revision 1.350
retrieving revision 1.351
diff -u -d -r1.350 -r1.351
--- chan_iax2.c 25 Sep 2005 19:13:54 -0000 1.350
+++ chan_iax2.c 28 Sep 2005 23:10:13 -0000 1.351
@@ -4239,10 +4239,8 @@
{
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 */
Index: chan_sip.c
===================================================================
RCS file: /usr/cvsroot/asterisk/channels/chan_sip.c,v
retrieving revision 1.869
retrieving revision 1.870
diff -u -d -r1.869 -r1.870
--- chan_sip.c 28 Sep 2005 04:08:57 -0000 1.869
+++ chan_sip.c 28 Sep 2005 23:10:13 -0000 1.870
@@ -4502,8 +4502,8 @@
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 @@
/* 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 @@
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 @@
(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 @@
astman_send_error(s, m, "Peer: <name> missing.\n");
return 0;
}
- ast_mutex_lock(&s->lock);
a[0] = "sip";
a[1] = "show";
a[2] = "peer";
@@ -7701,7 +7695,6 @@
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;
}
Index: chan_zap.c
===================================================================
RCS file: /usr/cvsroot/asterisk/channels/chan_zap.c,v
retrieving revision 1.526
retrieving revision 1.527
diff -u -d -r1.526 -r1.527
--- chan_zap.c 28 Sep 2005 21:29:40 -0000 1.526
+++ chan_zap.c 28 Sep 2005 23:10:14 -0000 1.527
@@ -9862,7 +9862,6 @@
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 @@
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 @@
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;
}
More information about the svn-commits
mailing list