mirror of
https://github.com/curl/curl.git
synced 2024-11-27 05:50:21 +08:00
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
This commit is contained in:
parent
d7a2938849
commit
598965a606
@ -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.
|
||||
|
@ -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) "
|
Loading…
Reference in New Issue
Block a user