From: Daniel Stenberg Date: Thu, 10 Jul 2014 03:06:34 +0000 (-0500) Subject: FAQ: expand the thread-safe section X-Git-Tag: curl-7_37_1~27 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6273b23a05ddfd1462068b5f5d8a3ba3ebe7ac3d;p=curl FAQ: expand the thread-safe section ... with a mention of *NOSIGNAL, based on talk in bug #1386 --- 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: