aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2005-12-23 23:22:23 +0000
committerDaniel Stenberg <daniel@haxx.se>2005-12-23 23:22:23 +0000
commit598965a6061e7c6d6adadf104c84bc7cd6cdeb07 (patch)
tree113a1a037d8871dfb8d5a831f6bcf21f746baf3f
parentd7a2938849a5f44196f0dad2a6261ee43492e4e4 (diff)
clarified that curl_global_init() isn't thread-safe and that it might affect
curl_easy_init() if you don't call curl_global_init() explicitly in your app
-rw-r--r--docs/libcurl/curl_easy_init.36
-rw-r--r--docs/libcurl/curl_global_init.39
2 files changed, 12 insertions, 3 deletions
diff --git a/docs/libcurl/curl_easy_init.3 b/docs/libcurl/curl_easy_init.3
index 62a6fbc50..a9fbe792a 100644
--- a/docs/libcurl/curl_easy_init.3
+++ b/docs/libcurl/curl_easy_init.3
@@ -14,6 +14,12 @@ handle that you must use as input to other easy-functions. curl_easy_init
initializes curl and this call \fBMUST\fP have a corresponding call to
\fIcurl_easy_cleanup(3)\fP when the operation is complete.
+If you did not already call \fIcurl_global_init(3)\fP, it will be done
+automatically with a default setup when you call \fIcurl_easy_init(3)\fP.
+This may be lethal in multi-threaded cases, since \fIcurl_global_init(3)\fP is
+not thread-safe and must not be called more than once (or from more than one
+thread). You are strongly adviced to not rely on this automatic behaviour, but
+call \fIcurl_global_init(3)\fP yourself properly.
.SH RETURN VALUE
If this function returns NULL, something went wrong and you cannot use the
other curl functions.
diff --git a/docs/libcurl/curl_global_init.3 b/docs/libcurl/curl_global_init.3
index b408850ad..8e8ec09f4 100644
--- a/docs/libcurl/curl_global_init.3
+++ b/docs/libcurl/curl_global_init.3
@@ -15,7 +15,8 @@ This function should only be called once (no matter how many threads or
libcurl sessions that'll be used) by every application that uses libcurl.
If this function hasn't been invoked when \fIcurl_easy_init(3)\fP is called,
-it will be done automatically by libcurl.
+it will be done automatically by libcurl. It is adviced that you do not rely
+on this automatic call, but instead call \fIcurl_global_init(3)\fP properly.
The flags option is a bit pattern that tells libcurl exact what features to
init, as described below. Set the desired bits by ORing the values together.
@@ -23,8 +24,9 @@ init, as described below. Set the desired bits by ORing the values together.
You must however \fBalways\fP use the \fIcurl_global_cleanup(3)\fP function,
as that cannot be called automatically for you by libcurl.
-Calling this function more than once will cause unpredictable results.
-
+Calling this function more than once will cause unpredictable results. If that
+is not enough, calling this function from more than one thread may also cause
+unpredictable results.
.SH FLAGS
.TP 5
.B CURL_GLOBAL_ALL
@@ -44,3 +46,4 @@ other curl functions.
.SH "SEE ALSO"
.BR curl_global_init_mem "(3), "
.BR curl_global_cleanup "(3), "
+.BR curl_easy_init "(3) " \ No newline at end of file