From aab94da6195521d3ec0c879a6e3fd55a1b01d656 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Tue, 20 Sep 2016 22:59:53 +0200 Subject: [PATCH] curl_global_cleanup.3: don't unload the lib with sub threads running Discussed in #997 Assisted-by: Jay Satiro --- docs/libcurl/curl_global_cleanup.3 | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/docs/libcurl/curl_global_cleanup.3 b/docs/libcurl/curl_global_cleanup.3 index 2e3ff0362..04ab0437c 100644 --- a/docs/libcurl/curl_global_cleanup.3 +++ b/docs/libcurl/curl_global_cleanup.3 @@ -42,8 +42,14 @@ these other libraries. See the description in \fIlibcurl(3)\fP of global environment requirements for details of how to use this function. - +.SH CAUTION +\fIcurl_global_cleanup(3)\fP does not block waiting for any libcurl-created +threads to terminate (such as threads used for name resolving). If a module +containing libcurl is dynamically unloaded while libcurl-created threads are +still running then your program may crash or other corruption may occur. We +recommend you do not run libcurl from any module that may be unloaded +dynamically. This behavior may be addressed in the future. .SH "SEE ALSO" .BR curl_global_init "(3), " .BR libcurl "(3), " - +.BR libcurl-thread "(3), "