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:
Travis Cross committed 2014-09-23 00:04:21 +00:00
1 parent 1bb0b8e16d
commit 0cc7bc8db6
2 files changed
+3

No files matched your search

+1
View File
@@ -192,6 +192,7 @@ SWITCH_STANDARD_API(snom_command_api_function)
curl_easy_setopt(curl_handle, CURLOPT_USERAGENT, "freeswitch-curl/1.0");
curl_easy_setopt(curl_handle, CURLOPT_FOLLOWLOCATION, 1);
curl_easy_setopt(curl_handle, CURLOPT_MAXREDIRS, 15);
curl_easy_setopt(curl_handle, CURLOPT_NOSIGNAL, 1);
if (argc == 5) {
userpwd = switch_mprintf("%s:%s",argv[3],argv[4]);