mirror of
https://github.com/signalwire/freeswitch.git
synced 2026-10-17 16:54:13 +00:00
Add missing CURLOPT_NOSIGNAL options
To work correctly in a multi-threaded environment, curl needs to be used with CURLOPT_NOSIGNAL set to 1. If it's left at zero, the default, then curl will use signals to deal with timeouts which will often result in a crash. ref: http://curl.haxx.se/libcurl/c/libcurl-tutorial.html#Multi-threading ref: http://curl.haxx.se/libcurl/c/CURLOPT_NOSIGNAL.html ref: http://stackoverflow.com/questions/9191668/error-longjmp-causes-uninitialized-stack-frame ref: https://bugzilla.redhat.com/show_bug.cgi?id=539809 ref: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=570436
This commit is contained in:
1 parent
1bb0b8e16d
commit
0cc7bc8db6
2 files changed
+3
No files matched your search
@@ -237,6 +237,7 @@ JS_GLOBAL_FUNCTION_IMPL_STATIC(FetchURLFile)
|
||||
if ((config_data.fileHandle = open(filename, O_CREAT | O_RDWR | O_TRUNC, S_IRUSR | S_IWUSR)) > -1) {
|
||||
switch_curl_easy_setopt(curl_handle, CURLOPT_URL, url);
|
||||
switch_curl_easy_setopt(curl_handle, CURLOPT_FOLLOWLOCATION, 1);
|
||||
switch_curl_easy_setopt(curl_handle, CURLOPT_NOSIGNAL, 1);
|
||||
switch_curl_easy_setopt(curl_handle, CURLOPT_MAXREDIRS, 10);
|
||||
switch_curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, FSGlobal::FileCallback);
|
||||
switch_curl_easy_setopt(curl_handle, CURLOPT_WRITEDATA, (void *) &config_data);
|
||||
@@ -293,6 +294,7 @@ JS_GLOBAL_FUNCTION_IMPL_STATIC(FetchURL)
|
||||
|
||||
switch_curl_easy_setopt(curl_handle, CURLOPT_URL, url);
|
||||
switch_curl_easy_setopt(curl_handle, CURLOPT_FOLLOWLOCATION, 1);
|
||||
switch_curl_easy_setopt(curl_handle, CURLOPT_NOSIGNAL, 1);
|
||||
switch_curl_easy_setopt(curl_handle, CURLOPT_MAXREDIRS, 10);
|
||||
switch_curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, FSGlobal::FetchUrlCallback);
|
||||
switch_curl_easy_setopt(curl_handle, CURLOPT_WRITEDATA, (void *) &config_data);
|
||||
|
||||
Reference in new issue
Block a user