Provided by: libcurl4-doc_8.11.0-1ubuntu2_all bug

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)