From 7b1b9f53ef47abd82c6faba12f4adcf721e622da Mon Sep 17 00:00:00 2001 From: kpfleming Date: Mon, 6 Jun 2005 02:29:18 +0000 Subject: more efficient (and understandable) ast_channel_walk_locked, and vastly more efficient ast_channel_by_name_locked (bug #4265) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@5853 f38db490-d61c-443f-a65b-d21fe96a405b --- res/res_monitor.c | 27 +++------------------------ 1 file changed, 3 insertions(+), 24 deletions(-) (limited to 'res/res_monitor.c') diff --git a/res/res_monitor.c b/res/res_monitor.c index cff024dc9..62d35dd1d 100755 --- a/res/res_monitor.c +++ b/res/res_monitor.c @@ -413,14 +413,7 @@ static int start_monitor_action(struct mansession *s, struct message *m) astman_send_error(s, m, "No channel specified"); return 0; } - c = ast_channel_walk_locked(NULL); - while (c) { - if (!strcasecmp(c->name, name)) { - break; - } - ast_mutex_unlock(&c->lock); - c = ast_channel_walk_locked(c); - } + c = ast_get_channel_by_name_locked(name); if (!c) { astman_send_error(s, m, "No such channel"); return 0; @@ -471,14 +464,7 @@ static int stop_monitor_action(struct mansession *s, struct message *m) astman_send_error(s, m, "No channel specified"); return 0; } - c = ast_channel_walk_locked(NULL); - while(c) { - if (!strcasecmp(c->name, name)) { - break; - } - ast_mutex_unlock(&c->lock); - c = ast_channel_walk_locked(c); - } + c = ast_get_channel_by_name_locked(name); if (!c) { astman_send_error(s, m, "No such channel"); return 0; @@ -514,14 +500,7 @@ static int change_monitor_action(struct mansession *s, struct message *m) astman_send_error(s, m, "No filename specified"); return 0; } - c = ast_channel_walk_locked(NULL); - while(c) { - if (!strcasecmp(c->name, name)) { - break; - } - ast_mutex_unlock(&c->lock); - c = ast_channel_walk_locked(c); - } + c = ast_get_channel_by_name_locked(name); if (!c) { astman_send_error(s, m, "No such channel"); return 0; -- cgit v1.2.3