curl_multi_add_handle

Section: libcurl Manual (3)
Updated: 4 March 2002
Index Return to Main Contents
 

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.  

SEE ALSO

curl_multi_cleanup(3),curl_multi_init(3)