manpagez: man pages & more
man curl_multi_init(3)
Home | html | info | man
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
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.