curl / Mailing Lists / curl-library / Single Mail
Buy commercial curl support from WolfSSL. We help you work out your issues, debug your libcurl applications, use the API, port to new platforms, add new features and more. With a team lead by the curl founder himself.

Re: curl_global_init and

From: Gavin Henry via curl-library <>
Date: Thu, 13 Jan 2022 14:54:04 +0000

Thanks Daniel! This explains a lot in my tests.

After reading the docs more I see:

       #include <curl/curl.h>

       CURL *curl_easy_init( );

       This function must be the first function to call, and it returns a CURL
       easy handle that you must use as input to other functions in the easy
       interface. This call MUST have a corresponding call to
       curl_easy_cleanup(3) when the operation is complete.

       If you did not already call curl_global_init(3), curl_easy_init(3) does
       it automatically. This may be lethal in multi-threaded cases, since
       curl_global_init(3) is not thread-safe, and it may result in resource
       problems because there is no corresponding cleanup.

       You are strongly advised to not allow this automatic behavior, by call‐
       ing curl_global_init(3) yourself properly. See the description in
       libcurl(3) of global environment requirements for details of how to use
       this function.
Received on 2022-01-13