From: Daniel Stenberg Date: Wed, 31 May 2017 07:26:51 +0000 (+0200) Subject: example/externalsocket.c: make it use CLOSESOCKETFUNCTION too X-Git-Tag: curl-7_54_1~65 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=55fcb8485914700132fd1854c9509b66c955efbe;p=curl example/externalsocket.c: make it use CLOSESOCKETFUNCTION too --- diff --git a/docs/examples/externalsocket.c b/docs/examples/externalsocket.c index 80e6598fa..9adb0dc4f 100644 --- a/docs/examples/externalsocket.c +++ b/docs/examples/externalsocket.c @@ -58,6 +58,13 @@ static size_t write_data(void *ptr, size_t size, size_t nmemb, void *stream) return written; } +static int closesocket(void *clientp, curl_socket_t item) +{ + (void)clientp; + printf("libcurl wants to close %d now\n", (int)item); + return 0; +} + static curl_socket_t opensocket(void *clientp, curlsocktype purpose, struct curl_sockaddr *address) @@ -137,6 +144,10 @@ int main(void) curl_easy_setopt(curl, CURLOPT_OPENSOCKETFUNCTION, opensocket); curl_easy_setopt(curl, CURLOPT_OPENSOCKETDATA, &sockfd); + /* call this function to close sockets */ + curl_easy_setopt(curl, CURLOPT_CLOSESOCKETFUNCTION, closesocket); + curl_easy_setopt(curl, CURLOPT_CLOSESOCKETDATA, &sockfd); + /* call this function to set options for the socket */ curl_easy_setopt(curl, CURLOPT_SOCKOPTFUNCTION, sockopt_callback);