curl_multi_init(3) Library Functions Manual curl_multi_init(3)
NAME
curl_multi_init - create a multi handle
SYNOPSIS
#include <curl/curl.h>
CURLM *curl_multi_init();
DESCRIPTION
This function returns a pointer to a CURLM handle to be used as input
to all the other multi-functions, sometimes referred to as a multi
handle in some places in the documentation. This init call MUST have a
corresponding call to curl_multi_cleanup(3) when the operation is
complete.
By default, several caches are stored in and held by the multi handle:
DNS cache, connection pool, TLS session ID cache and the TLS CA cert
cache. All transfers using the same multi handle share these caches.
PROTOCOLS
This functionality affects all supported protocols
EXAMPLE
int main(void)
{
/* init a multi stack */
CURLM *multi = curl_multi_init();
CURL *curl = curl_easy_init();
CURL *curl2 = curl_easy_init();
/* add individual transfers */
curl_multi_add_handle(multi, curl);
curl_multi_add_handle(multi, curl2);
}
AVAILABILITY
Added in curl 7.9.6
RETURN VALUE
If this function returns NULL, something went wrong and you cannot use
the other curl functions.
SEE ALSO
curl_easy_init(3), curl_global_init(3), curl_multi_add_handle(3),
curl_multi_cleanup(3), curl_multi_get_handles(3)
libcurl 2024-12-12 curl_multi_init(3)
curl 8.11.1 - Generated Sun Dec 15 10:07:39 CST 2024
