diff options
author | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-09-19 19:34:25 +0000 |
---|---|---|
committer | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-09-19 19:34:25 +0000 |
commit | 29f3074aa5559f6766d547ef0266ab9081804276 (patch) | |
tree | 2a9f0608fb57b6e804879024a96dd105bc4b4909 /funcs/func_curl.c | |
parent | ed2a3f719c79a1707656331dbdc39eace21fa515 (diff) |
Using curl can take a substantial amount of time, so the channel should be
autoserviced while waiting for it to complete.
(closes issue #10725, reported by mnicholson)
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@83177 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'funcs/func_curl.c')
-rw-r--r-- | funcs/func_curl.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/funcs/func_curl.c b/funcs/func_curl.c index 08e786eaf..940dfd8e2 100644 --- a/funcs/func_curl.c +++ b/funcs/func_curl.c @@ -145,6 +145,8 @@ static int acf_curl_exec(struct ast_channel *chan, char *cmd, char *info, char * AST_STANDARD_APP_ARGS(args, info); + ast_autoservice_start(chan); + if (!curl_internal(&chunk, args.url, args.postdata)) { if (chunk.memory) { chunk.memory[chunk.size] = '\0'; @@ -158,6 +160,8 @@ static int acf_curl_exec(struct ast_channel *chan, char *cmd, char *info, char * ast_log(LOG_ERROR, "Cannot allocate curl structure\n"); } + ast_autoservice_stop(chan); + ast_module_user_remove(u); return 0; |