dwww Home | Manual pages | Find package

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  corre-
       sponding 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                            2026-07-12                curl_multi_init(3)

Generated by dwww version 1.16 on Fri Oct 2 17:08:14 CEST 2026.