Provided by: libcurl4-doc_8.9.1-2ubuntu2.1_all bug

NAME

       curl_global_cleanup - global libcurl cleanup

SYNOPSIS

       #include <curl/curl.h>

       void curl_global_cleanup(void);

DESCRIPTION

       This function releases resources acquired by curl_global_init(3).

       You should call curl_global_cleanup(3) once for each call you make to curl_global_init(3),
       after you are done using libcurl.

       This function  is  thread-safe  since  libcurl  7.84.0  if  curl_version_info(3)  has  the
       CURL_VERSION_THREADSAFE feature bit set (most platforms).

       If  this  is not thread-safe, you must not call this function when any other thread in the
       program (i.e. a thread sharing the same memory) is running.  This does not  just  mean  no
       other  thread  that  is  using  libcurl. Because curl_global_cleanup(3) calls functions of
       other libraries that are similarly thread unsafe, it could conflict with any other  thread
       that uses these other libraries.

       See the description in libcurl(3) of global environment requirements for details of how to
       use this function.

CAUTION

       curl_global_cleanup(3) does not block waiting for any libcurl-created threads to terminate
       (such  as  threads used for name resolving). If a module containing libcurl is dynamically
       unloaded while libcurl-created threads are still running then your program  may  crash  or
       other  corruption  may occur. We recommend you do not run libcurl from any module that may
       be unloaded dynamically. This behavior may be addressed in the future.

       libcurl may not be able to fully clean up after multi-threaded OpenSSL  depending  on  how
       OpenSSL  was  built  and  loaded as a library. It is possible in some rare circumstances a
       memory leak could occur unless you implement your own OpenSSL  thread  cleanup.  Refer  to
       libcurl-thread(3).

PROTOCOLS

       This functionality affects all supported protocols

EXAMPLE

       int main(void)
       {
         curl_global_init(CURL_GLOBAL_DEFAULT);

         /* use libcurl, then before exiting... */

         curl_global_cleanup();
       }

AVAILABILITY

       Added in curl 7.8

RETURN VALUE

       None

SEE ALSO

       curl_global_init(3), libcurl(3), libcurl-thread(3)