summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2014-07-09 22:06:34 -0500
committerDaniel Stenberg <daniel@haxx.se>2014-07-09 22:07:36 -0500
commit6273b23a05ddfd1462068b5f5d8a3ba3ebe7ac3d (patch)
tree3c61ecebb1322554cef75035f5a6f6ecd6d9db1f
parent1cef8f0bc3de6374ffb2f573dc825c01bf7f9636 (diff)
downloadgnurl-6273b23a05ddfd1462068b5f5d8a3ba3ebe7ac3d.tar.gz
gnurl-6273b23a05ddfd1462068b5f5d8a3ba3ebe7ac3d.tar.bz2
gnurl-6273b23a05ddfd1462068b5f5d8a3ba3ebe7ac3d.zip
FAQ: expand the thread-safe section
... with a mention of *NOSIGNAL, based on talk in bug #1386
-rw-r--r--docs/FAQ6
1 files changed, 6 insertions, 0 deletions
diff --git a/docs/FAQ b/docs/FAQ
index 29355f093..0850bd46a 100644
--- a/docs/FAQ
+++ b/docs/FAQ
@@ -1099,6 +1099,12 @@ FAQ
your system has such. Note that you must never share the same handle in
multiple threads.
+ libcurl's implementation of timeouts might use signals (depending on what it
+ was built to use for name resolving), and signal handling is generally not
+ thread-safe. Multi-threaded Applicationss that call libcurl from different
+ threads (on different handles) might want to use CURLOPT_NOSIGNAL, e.g.:
+
+ curl_easy_setopt(handle, CURLOPT_NOSIGNAL, true);
If you use a OpenSSL-powered libcurl in a multi-threaded environment, you
need to provide one or two locking functions: