func_curl: Don't hold exclusive lock when performing HTTP request.

This code originally kept a lock held when performing the HTTP
request to ensure that the options provided to curl remain valid.
This doesn't seem to be necessary these days and holding the lock
caused requests to happen sequentially instead of in parallel.

ASTERISK-18708 #close
Reported by: Dave Cabot


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@432948 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Joshua Colp
2015-03-14 01:59:31 +00:00
parent 067a7e5384
commit 15ed15bf9f

View File

@@ -654,6 +654,7 @@ static int acf_curl_helper(struct ast_channel *chan, const char *cmd, char *info
curl_easy_setopt(*curl, cur->key, cur->value); curl_easy_setopt(*curl, cur->key, cur->value);
} }
} }
AST_LIST_UNLOCK(&global_curl_info);
if (chan && (store = ast_channel_datastore_find(chan, &curl_info, NULL))) { if (chan && (store = ast_channel_datastore_find(chan, &curl_info, NULL))) {
list = store->data; list = store->data;
@@ -692,7 +693,6 @@ static int acf_curl_helper(struct ast_channel *chan, const char *cmd, char *info
if (store) { if (store) {
AST_LIST_UNLOCK(list); AST_LIST_UNLOCK(list);
} }
AST_LIST_UNLOCK(&global_curl_info);
if (args.postdata) { if (args.postdata) {
curl_easy_setopt(*curl, CURLOPT_POST, 0); curl_easy_setopt(*curl, CURLOPT_POST, 0);