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_ver-
       sion_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 li-
       braries 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  corrup-
       tion  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 pos-
       sible 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				  2025-06-03		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+14.3.quarterly>

home | help