carta
curl_easy_cleanup(3)

curl_easy_cleanup3

End a libcurl easy handle

Usage

void curl_easy_cleanup(CURL *handle);

Overview

This function is the opposite of curl_easy_init(3). It closes down and frees all resources previously associated with this easy handle.

This call closes all connections this handle has used and possibly has kept open until now unless the easy handle was attached to a multi handle while doing the transfers. Do not call this function if you intend to transfer more files, reusing handles is a key to good performance with libcurl.

Occasionally you may get your progress callback or header callback called from within curl_easy_cleanup(3) (if previously set for the handle using curl_easy_setopt(3)). Like if libcurl decides to shut down the connection and the protocol is of a kind that requires a command/response sequence before disconnect. Examples of such protocols are FTP, POP3 and IMAP.

Any use of the easy handle after this function has been called and have returned, is illegal.

To close an easy handle that has been used with the multi interface, make sure to first call curl_multi_remove_handle(3) to remove it from the multi handle before it is closed.

Passing in a NULL pointer in handle makes this function return immediately with no action.

Examples

int main(void)
{
  CURL *curl = curl_easy_init();
  if(curl) {
    CURLcode res;
    curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
    res = curl_easy_perform(curl);
    if(res)
      printf("error: %s\n", curl_easy_strerror(res));
    curl_easy_cleanup(curl);
  }
}

Return value

None

History

  • macOS 26.5 to macOS 14.5: the text shown here
  • macOS 14.4 to macOS 14.2
  • macOS 14.1 to macOS 13.5
  • macOS 13.4
  • macOS 13.3
  • macOS 13.2
  • macOS 13.1
  • macOS 13.0
  • macOS 12.5 to macOS 12.3
  • macOS 12.2 to macOS 12.0.1
  • macOS 11.5 to macOS 10.15
  • macOS 10.14.6 to macOS 10.12.6
  • macOS 10.12.5 to macOS 10.12
  • OS X 10.11.6 to OS X 10.10.5
  • OS X 10.10.4 to Mac OS X 10.8
  • Mac OS X 10.7.5 to Mac OS X 10.7
  • Mac OS X 10.6.8 to Mac OS X 10.6
  • Mac OS X 10.5.8 to Mac OS X 10.5
  • Mac OS X 10.4.11.x86 to Mac OS X 10.4
  • Mac OS X 10.3.9 to Mac OS X 10.3
  • Mac OS X 10.2.8.G5 to Mac OS X 10.2

Availability

Added in 7.1

From curl 166.0.0.0.1 in macOS 26.5. Parsed by carta from the page's man source.