diff options
author | Jay Satiro <raysatiro@yahoo.com> | 2015-07-31 01:58:03 -0400 |
---|---|---|
committer | Jay Satiro <raysatiro@yahoo.com> | 2015-07-31 01:58:03 -0400 |
commit | 0da1f5dc5cf0ddf7aadbb713ee1291ef6fb6ede0 (patch) | |
tree | 5da0e6e2893505d10479a2f91631e0fc0f51c3e2 /docs/libcurl | |
parent | 909f0a82b07545e8e0a11744d8c5671306d6fc9e (diff) |
libcurl-thread.3: Warn memory functions must be thread safe
Bug: http://curl.haxx.se/mail/lib-2015-07/0149.html
Reported-by: Eric Ridge
Diffstat (limited to 'docs/libcurl')
-rw-r--r-- | docs/libcurl/curl_global_init_mem.3 | 9 | ||||
-rw-r--r-- | docs/libcurl/libcurl-thread.3 | 13 |
2 files changed, 15 insertions, 7 deletions
diff --git a/docs/libcurl/curl_global_init_mem.3 b/docs/libcurl/curl_global_init_mem.3 index 9cddef7c3..491550e22 100644 --- a/docs/libcurl/curl_global_init_mem.3 +++ b/docs/libcurl/curl_global_init_mem.3 @@ -36,9 +36,9 @@ This function works exactly as \fIcurl_global_init(3)\fP with one addition: it allows the application to set callbacks to replace the otherwise used internal memory functions. -This man page only adds documentation for the callbacks, see the -\fIcurl_global_init(3)\fP man page for all the rest. When you use this -function, all callback arguments must be set to valid function pointers. +When you use this function, all callback arguments must be set to valid +function pointers. \fBIf you are using libcurl with multiple threads the +callback replacement functions must be thread safe.\fP The prototypes for the given callbacks should match these: .IP "void *malloc_callback(size_t size);" @@ -51,6 +51,9 @@ To replace realloc() To replace strdup() .IP "void *calloc_callback(size_t nmemb, size_t size);" To replace calloc() +.RE +This function is otherwise the same as \fIcurl_global_init(3)\fP, please refer +to that man page for documentation. .SH "CAUTION" Manipulating these gives considerable powers to the application to severely screw things up for libcurl. Take care! diff --git a/docs/libcurl/libcurl-thread.3 b/docs/libcurl/libcurl-thread.3 index 745ce474e..b16caa2e8 100644 --- a/docs/libcurl/libcurl-thread.3 +++ b/docs/libcurl/libcurl-thread.3 @@ -101,9 +101,14 @@ are Linux, Solaris and Windows. \fBcurl_global_* functions.\fP These functions are not thread safe. If you are using libcurl with multiple threads it is especially important that before use -you call \fIcurl_global_init(3)\fP to explicitly initialize the library and its -dependents, rather than rely on the "lazy" fail-safe initialization that takes -place the first time \fIcurl_easy_init(3)\fP is called. For an in-depth -explanation refer to \fIlibcurl(3)\fP section \fBGLOBAL CONSTANTS\fP. +you call \fIcurl_global_init(3)\fP or \fIcurl_global_init_mem(3)\fP to +explicitly initialize the library and its dependents, rather than rely on the +"lazy" fail-safe initialization that takes place the first time +\fIcurl_easy_init(3)\fP is called. For an in-depth explanation refer to +\fIlibcurl(3)\fP section \fBGLOBAL CONSTANTS\fP. + +\fBMemory functions.\fP These functions, provided either by your operating +system or your own replacements, must be thread safe. You can use +\fIcurl_global_init_mem(3)\fP to set your own replacement memory functions. \fICURLOPT_DNS_USE_GLOBAL_CACHE(3)\fP is not thread-safe. |