curl_multi_add_handle (3) - Linux Manuals

curl_multi_add_handle: add an easy handle to a multi session

NAME

curl_multi_add_handle - add an easy handle to a multi session

SYNOPSIS

#include <curl/curl.h>

CURLMcode curl_multi_add_handle(CURLM *multi_handle, CURL *easy_handle);

DESCRIPTION

Adds a standard easy handle to the multi stack. This function call will make this multi_handle control the specified easy_handle. Furthermore, libcurl now initiates the connection associated with the specified easy_handle.

When an easy handle has been added to a multi stack, you can not and you must not use curl_easy_perform(3) on that handle!

If the easy handle is not set to use a shared (CURLOPT_SHARE) or global DNS cache (CURLOPT_DNS_USE_GLOBAL_CACHE), it will be made to use the DNS cache that is shared between all easy handles within the multi handle when curl_multi_add_handle(3) is called.

The easy handle will remain added until you remove it again with curl_multi_remove_handle(3). You should remove the easy handle from the multi stack before you terminate first the easy handle and then the multi handle:

1 - curl_multi_remove_handle(3)

2 - curl_easy_cleanup(3)

3 - curl_multi_cleanup(3)

RETURN VALUE

CURLMcode type, general libcurl multi interface error code.