[Asterisk-cvs] asterisk channel.c,1.253,1.254 pbx.c,1.293,1.294
kpfleming
kpfleming
Mon Oct 31 10:42:07 CST 2005
Update of /usr/cvsroot/asterisk
In directory mongoose.digium.com:/tmp/cvs-serv3197
Modified Files:
channel.c pbx.c
Log Message:
fix various bugs related to list handling of channel variables (issue #5548)
use nolock lists for channel variables, since no locks are needed (these lists are either temporary or protected by the channel's own lock)
Index: channel.c
===================================================================
RCS file: /usr/cvsroot/asterisk/channel.c,v
retrieving revision 1.253
retrieving revision 1.254
diff -u -d -r1.253 -r1.254
--- channel.c 28 Oct 2005 23:01:13 -0000 1.253
+++ channel.c 31 Oct 2005 15:34:11 -0000 1.254
@@ -585,7 +585,7 @@
snprintf(tmp->uniqueid, sizeof(tmp->uniqueid), "%li.%d", (long) time(NULL), uniqueint++);
headp = &tmp->varshead;
ast_mutex_init(&tmp->lock);
- AST_LIST_HEAD_INIT(headp);
+ AST_LIST_HEAD_INIT_NOLOCK(headp);
strcpy(tmp->context, "default");
ast_copy_string(tmp->language, defaultlanguage, sizeof(tmp->language));
strcpy(tmp->exten, "s");
@@ -2976,7 +2976,7 @@
original->fds[x] = clone->fds[x];
}
clone_variables(original, clone);
- clone->varshead.first = NULL;
+ AST_LIST_HEAD_INIT_NOLOCK(&clone->varshead);
/* Presense of ADSI capable CPE follows clone */
original->adsicpe = clone->adsicpe;
/* Bridge remains the same */
Index: pbx.c
===================================================================
RCS file: /usr/cvsroot/asterisk/pbx.c,v
retrieving revision 1.293
retrieving revision 1.294
diff -u -d -r1.293 -r1.294
--- pbx.c 26 Oct 2005 23:11:36 -0000 1.293
+++ pbx.c 31 Oct 2005 15:34:11 -0000 1.294
@@ -6150,7 +6150,7 @@
ast_verbose( "Asterisk PBX Core Initializing\n");
ast_verbose( "Registering builtin applications:\n");
}
- AST_LIST_HEAD_INIT(&globals);
+ AST_LIST_HEAD_INIT_NOLOCK(&globals);
ast_cli_register_multiple(pbx_cli, sizeof(pbx_cli) / sizeof(pbx_cli[0]));
/* Register builtin applications */
More information about the svn-commits
mailing list