<pclass="level0">This function must be the last function to call for an easy session. It is the opposite of the <aclass="emphasis"href="./curl_easy_init.html">curl_easy_init(3)</a> function and must be called with the same <spanClass="emphasis">handle</span> as input that the curl_easy_init call returned.
<pclass="level0">This will effectively close all connections this handle has used and possibly has kept open until now. Don't call this function if you intend to transfer more files.
<pclass="level0">Occasionally you may get your progress callback or header callback called from within <aclass="emphasis"href="./curl_easy_cleanup.html">curl_easy_cleanup(3)</a> (if previously set for the handle using <aclass="emphasis"href="./curl_easy_setopt.html">curl_easy_setopt(3)</a>). 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.
<pclass="level0">Any uses of the <spanClass="bold">handle</span> after this function has been called and have returned, are illegal. This kills the handle and all memory associated with it!
<pclass="level0">With libcurl versions prior to 7.17.: when you've called this, you can safely remove all the strings you've previously told libcurl to use, as it won't use them anymore now. <aname="RETURN"></a><h2class="nroffsh">RETURN VALUE</h2>