summaryrefslogtreecommitdiffstats
path: root/cower/set_curlopt_nosignal.patch
diff options
context:
space:
mode:
Diffstat (limited to 'cower/set_curlopt_nosignal.patch')
-rw-r--r--cower/set_curlopt_nosignal.patch22
1 files changed, 22 insertions, 0 deletions
diff --git a/cower/set_curlopt_nosignal.patch b/cower/set_curlopt_nosignal.patch
new file mode 100644
index 0000000..76d7456
--- /dev/null
+++ b/cower/set_curlopt_nosignal.patch
@@ -0,0 +1,22 @@
+commit 9d7537ef064a23ed57551aa04283c398fc8d07f1
+Author: Dave Reisner <d@falconindy.com>
+Date: Thu Dec 30 20:14:36 2010 -0500
+
+ set CURLOPT_NOSIGNAL on all curl handles
+
+ As per curl_easy_setopt(3), this is particularly crucial of multi
+ threaded apps (hey that's us) which use timeouts to avoid sending them
+ signals and behaving badly (e.g. causing segfaults).
+
+diff --git a/cower.c b/cower.c
+index 7ba747c..23ff9bc 100644
+--- a/cower.c
++++ b/cower.c
+@@ -585,6 +585,7 @@ CURL *curl_create_easy_handle() {
+
+ curl_easy_setopt(handle, CURLOPT_USERAGENT, COWER_USERAGENT);
+ curl_easy_setopt(handle, CURLOPT_CONNECTTIMEOUT, 10L);
++ curl_easy_setopt(handle, CURLOPT_NOSIGNAL, 1L);
+ curl_easy_setopt(handle, CURLOPT_ENCODING, "deflate, gzip");
+
+ return(handle);