mirror of
https://codeberg.org/kiss-community/repo
synced 2024-11-20 05:30:11 -07:00
58 lines
1.8 KiB
Groff
58 lines
1.8 KiB
Groff
.\" generated by cd2nroff 0.1 from curl_easy_duphandle.md
|
|
.TH curl_easy_duphandle 3 libcurl
|
|
.SH NAME
|
|
curl_easy_duphandle \- Clone a libcurl session 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
|
|
All
|
|
.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 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)
|