curl_multi_init(3) Introduction to Library Functions 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 2025-02-25 curl_multi_init(3)

tribblix@gmail.com :: GitHub :: Privacy