FreeBSD Manual Pages
curl_multi...ove_handle(3) Library Functions Manual curl_multi...ove_handle(3) NAME curl_multi_remove_handle - remove an easy handle from a multi session SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_remove_handle(CURLM *multi_handle, CURL *easy_handle); DESCRIPTION Removes a given easy_handle from the multi_handle. This makes the spec- ified easy handle be removed from this multi handle's control. When the easy handle has been removed from a multi stack, it is again perfectly legal to invoke curl_easy_perform(3) on this easy handle. Removing an easy handle while being in use is perfectly legal and ef- fectively halts the transfer in progress involving that easy handle. All other easy handles and transfers remain unaffected. It is fine to remove a handle at any time during a transfer, just not from within any libcurl callback function. Removing an easy handle from the multi handle before the corresponding transfer is complete might cause libcurl to close the connection - if the state of it and the internal protocol handler deem it necessary. Otherwise libcurl keeps the connection alive in the connection pool as- sociated with the multi handle, ready to get reused for a future trans- fer using this multi handle. PROTOCOLS This functionality affects all supported protocols EXAMPLE int main(void) { CURLM *multi = curl_multi_init(); int queued = 0; /* when an easy handle has completed, remove it */ CURLMsg *msg = curl_multi_info_read(multi, &queued); if(msg) { if(msg->msg == CURLMSG_DONE) { /* a transfer ended */ fprintf(stderr, "Transfer completed\n"); curl_multi_remove_handle(multi, msg->easy_handle); } } } AVAILABILITY Added in curl 7.9.6 RETURN VALUE This function returns a CURLMcode indicating success or error. CURLM_OK (0) means everything was OK, non-zero means an error occurred, see libcurl-errors(3). SEE ALSO curl_multi_add_handle(3), curl_multi_cleanup(3), curl_multi_init(3) libcurl 2025-06-03 curl_multi...ove_handle(3)
NAME | SYNOPSIS | DESCRIPTION | PROTOCOLS | EXAMPLE | AVAILABILITY | RETURN VALUE | SEE ALSO
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=curl_multi_remove_handle&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>