diff options
author | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-12-11 21:48:08 +0000 |
---|---|---|
committer | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-12-11 21:48:08 +0000 |
commit | 3bd44b188a531fa57bfa5b9a131a45cb8c3166c7 (patch) | |
tree | efa9caf440f2ede6614e87f9ad6eb1419fb89378 /funcs | |
parent | 4e006d017efca7ec6da6b6f4e1826f7e37fa6d56 (diff) |
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: http://svn.digium.com/svn/asterisk/trunk@163254 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'funcs')
-rw-r--r-- | funcs/func_cut.c | 6 | ||||
-rw-r--r-- | funcs/func_strings.c | 16 |
2 files changed, 0 insertions, 22 deletions
diff --git a/funcs/func_cut.c b/funcs/func_cut.c index dda907ca2..3a3c2f309 100644 --- a/funcs/func_cut.c +++ b/funcs/func_cut.c @@ -270,9 +270,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(<varname>,<char-delim>,<range-spec>) - missing argument!\n"); @@ -290,9 +287,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 350a5ea19..da7525170 100644 --- a/funcs/func_strings.c +++ b/funcs/func_strings.c @@ -285,9 +285,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); @@ -307,9 +304,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; } @@ -566,9 +560,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; @@ -615,9 +606,6 @@ static int array(struct ast_channel *chan, const char *cmd, char *var, } } - if (chan) - ast_autoservice_stop(chan); - return 0; } @@ -855,11 +843,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, buflen - 1); - if (chan) - ast_autoservice_stop(chan); return 0; } |