From cb8fbf7b1396847cab5596478af9e84f661929c6 Mon Sep 17 00:00:00 2001 From: Russell Bryant Date: Thu, 11 Dec 2008 21:49:13 +0000 Subject: [PATCH] Merged revisions 163254 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ................ r163254 | russell | 2008-12-11 15:48:08 -0600 (Thu, 11 Dec 2008) | 16 lines Merged revisions 163253 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r163253 | russell | 2008-12-11 15:46:29 -0600 (Thu, 11 Dec 2008) | 8 lines Fix some observed slowdowns in dialplan processing. The change is to remove autoservice usage from dialplan functions that do not need it because they do not perform operations that potentially block. (closes issue #13940) Reported by: tbelder ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@163255 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- funcs/func_cut.c | 6 ------ funcs/func_strings.c | 16 ---------------- 2 files changed, 22 deletions(-) diff --git a/funcs/func_cut.c b/funcs/func_cut.c index 96779b661c..231729ddf4 100644 --- a/funcs/func_cut.c +++ b/funcs/func_cut.c @@ -227,9 +227,6 @@ static int acf_cut_exec(struct ast_channel *chan, const char *cmd, char *data, c { int ret = -1; - if (chan) - ast_autoservice_start(chan); - switch (cut_internal(chan, data, buf, len)) { case ERROR_NOARG: ast_log(LOG_ERROR, "Syntax: CUT(,,) - missing argument!\n"); @@ -247,9 +244,6 @@ static int acf_cut_exec(struct ast_channel *chan, const char *cmd, char *data, c ast_log(LOG_ERROR, "Unknown internal error\n"); } - if (chan) - ast_autoservice_stop(chan); - return ret; } diff --git a/funcs/func_strings.c b/funcs/func_strings.c index 6cf00731e7..c400bcb36c 100644 --- a/funcs/func_strings.c +++ b/funcs/func_strings.c @@ -51,9 +51,6 @@ static int function_fieldqty(struct ast_channel *chan, const char *cmd, char delim[2] = ""; size_t delim_used; - if (chan) - ast_autoservice_start(chan); - AST_STANDARD_APP_ARGS(args, parse); if (args.delim) { ast_get_encoded_char(args.delim, delim, &delim_used); @@ -73,9 +70,6 @@ static int function_fieldqty(struct ast_channel *chan, const char *cmd, } snprintf(buf, len, "%d", fieldcount); - if (chan) - ast_autoservice_stop(chan); - return 0; } @@ -255,9 +249,6 @@ static int array(struct ast_channel *chan, const char *cmd, char *var, if (!var || !value2) return -1; - if (chan) - ast_autoservice_start(chan); - if (!strcmp(cmd, "HASH")) { const char *var2 = pbx_builtin_getvar_helper(chan, "~ODBCFIELDS~"); origvar = var; @@ -304,9 +295,6 @@ static int array(struct ast_channel *chan, const char *cmd, char *var, } } - if (chan) - ast_autoservice_stop(chan); - return 0; } @@ -748,11 +736,7 @@ static int function_eval(struct ast_channel *chan, const char *cmd, char *data, return -1; } - if (chan) - ast_autoservice_start(chan); pbx_substitute_variables_helper(chan, data, buf, len - 1); - if (chan) - ast_autoservice_stop(chan); return 0; }