| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- .\" generated by cd2nroff 0.1 from curl_easy_duphandle.md
- .TH curl_easy_duphandle 3 "2025-01-17" libcurl
- .SH NAME
- curl_easy_duphandle \- clone an easy handle
- .SH SYNOPSIS
- .nf
- #include <curl/curl.h>
- CURL *curl_easy_duphandle(CURL *handle);
- .fi
- .SH DESCRIPTION
- This function returns a new curl handle, a duplicate, using all the options
- previously set in the input curl \fIhandle\fP. Both handles can subsequently be
- used independently and they must both be freed with \fIcurl_easy_cleanup(3)\fP.
- Any options that the input handle has been told to point to (as opposed to
- copy) with previous calls to \fIcurl_easy_setopt(3)\fP, are pointed to by the new
- handle as well. You must therefore make sure to keep the data around until
- both handles have been cleaned up.
- The new handle does \fBnot\fP inherit any state information, no connections, no
- SSL sessions and no cookies. It also does not inherit any share object states
- or options (created as if \fICURLOPT_SHARE(3)\fP was set to NULL).
- If the source handle has HSTS or alt\-svc enabled, the duplicate gets data read
- data from the main filename to populate the cache.
- In multi\-threaded programs, this function must be called in a synchronous way,
- the input handle may not be in use when cloned.
- .SH PROTOCOLS
- This functionality affects all supported protocols
- .SH EXAMPLE
- .nf
- int main(void)
- {
- CURL *curl = curl_easy_init();
- if(curl) {
- CURLcode res;
- CURL *nother;
- curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
- nother = curl_easy_duphandle(curl);
- res = curl_easy_perform(nother);
- curl_easy_cleanup(nother);
- curl_easy_cleanup(curl);
- }
- }
- .fi
- .SH AVAILABILITY
- Added in curl 7.9
- .SH RETURN VALUE
- If this function returns NULL, something went wrong and no valid handle was
- returned.
- .SH SEE ALSO
- .BR curl_easy_cleanup (3),
- .BR curl_easy_init (3),
- .BR curl_easy_reset (3),
- .BR curl_global_init (3)
|