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 sessionSYNOPSIS
#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)