Sortix
Sortix Download Manual Development Source Code News Blog More
current nightly

Sortix cross-nightly manual

This manual documents Sortix cross-nightly. You can instead view this document in the latest official manual.

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)
2025-05-14 libcurl
Copyright 2011-2025 Jonas 'Sortie' Termansen and contributors.
Sortix's source code is free software under the ISC license.
#sortix on irc.sortix.org
@sortix_org