mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-19 03:08:45 +00:00
Make a minor tweak to admin_exec() - don't lock the conference list until it
is actually necessary. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@63326 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -2768,17 +2768,16 @@ static int admin_exec(struct ast_channel *chan, void *data) {
|
|||||||
|
|
||||||
u = ast_module_user_add(chan);
|
u = ast_module_user_add(chan);
|
||||||
|
|
||||||
AST_LIST_LOCK(&confs);
|
|
||||||
|
|
||||||
params = ast_strdupa(data);
|
params = ast_strdupa(data);
|
||||||
AST_STANDARD_APP_ARGS(args, params);
|
AST_STANDARD_APP_ARGS(args, params);
|
||||||
|
|
||||||
if (!args.command) {
|
if (!args.command) {
|
||||||
ast_log(LOG_WARNING, "MeetmeAdmin requires a command!\n");
|
ast_log(LOG_WARNING, "MeetmeAdmin requires a command!\n");
|
||||||
AST_LIST_UNLOCK(&confs);
|
|
||||||
ast_module_user_remove(u);
|
ast_module_user_remove(u);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
AST_LIST_LOCK(&confs);
|
||||||
AST_LIST_TRAVERSE(&confs, cnf, list) {
|
AST_LIST_TRAVERSE(&confs, cnf, list) {
|
||||||
if (!strcmp(cnf->confno, args.confno))
|
if (!strcmp(cnf->confno, args.confno))
|
||||||
break;
|
break;
|
||||||
@@ -2953,7 +2952,7 @@ static int channel_admin_exec(struct ast_channel *chan, void *data) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* perform the specified action */
|
/* perform the specified action */
|
||||||
switch(*args.command) {
|
switch (*args.command) {
|
||||||
case 77: /* M: Mute */
|
case 77: /* M: Mute */
|
||||||
user->adminflags |= ADMINFLAG_MUTED;
|
user->adminflags |= ADMINFLAG_MUTED;
|
||||||
break;
|
break;
|
||||||
|
Reference in New Issue
Block a user