Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
curl_global_cleanup(3)	    Library Functions Manual	  curl_global_cleanup(3)

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	only  mean  other  threads  that  use  libcurl.  Because
     curl_global_cleanup(3) calls functions of other libraries	that  are  simi-
     larly  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 oc-
     cur. We recommend you do not run libcurl from any module that  may  be  un-
     loaded dynamically. This behavior may be addressed in the future.

     libcurl  may not be able to fully clean up after multi-threaded OpenSSL de-
     pending 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)

libcurl 			   2026-06-11		  curl_global_cleanup(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=curl_global_cleanup&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help