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
|
initializes curl and this call \fBMUST\fP have a corresponding call to
|
||||||
\fIcurl_easy_cleanup(3)\fP when the operation is complete.
|
\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
|
.SH RETURN VALUE
|
||||||
If this function returns NULL, something went wrong and you cannot use the
|
If this function returns NULL, something went wrong and you cannot use the
|
||||||
other curl functions.
|
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.
|
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,
|
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
|
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.
|
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,
|
You must however \fBalways\fP use the \fIcurl_global_cleanup(3)\fP function,
|
||||||
as that cannot be called automatically for you by libcurl.
|
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
|
.SH FLAGS
|
||||||
.TP 5
|
.TP 5
|
||||||
.B CURL_GLOBAL_ALL
|
.B CURL_GLOBAL_ALL
|
||||||
@ -44,3 +46,4 @@ other curl functions.
|
|||||||
.SH "SEE ALSO"
|
.SH "SEE ALSO"
|
||||||
.BR curl_global_init_mem "(3), "
|
.BR curl_global_init_mem "(3), "
|
||||||
.BR curl_global_cleanup "(3), "
|
.BR curl_global_cleanup "(3), "
|
||||||
|
.BR curl_easy_init "(3) "
|
Loading…
x
Reference in New Issue
Block a user