curl_multi_add_handle

Syntax

#include <curl/curl.h>

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

Parameters

multi_handle Pointer to a multi handle.
easy_handle Pointer to an easy handle.

Return Values

If the operation was successful, CURLM_OK is returned. Otherwise, a specific CURLM libcurl Error Code is returned.

Description

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

When an easy handle has been added to a multi-stack, do not use curl_easy_perform 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 is called.

The easy handle will remain added until removed again using curl_multi_remove_handle. Remove the easy handle from the multi stack before first terminating the easy handle and then the multi handle:

  1. curl_multi_remove_handle
  2. curl_easy_cleanup
  3. curl_multi_cleanup

Do Not Call From

None.

See Also

HTTP Client Library (libcurl)
libcurl API Functions
libcurl Error Codes
curl_multi_cleanup
curl_multi_init

Revision History

2013/09/18 Conversion
2013/05/08 Automated cleanup pass.
2012/05/04 Initial version.


CONFIDENTIAL