]> granicus.if.org Git - curl/commitdiff
example/externalsocket.c: make it use CLOSESOCKETFUNCTION too
authorDaniel Stenberg <daniel@haxx.se>
Wed, 31 May 2017 07:26:51 +0000 (09:26 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Wed, 31 May 2017 09:56:53 +0000 (11:56 +0200)
docs/examples/externalsocket.c

index 80e6598fac06c7c813a55d5992c9067404c86682..9adb0dc4f47c679a167dfeed4617fcf060ac3ade 100644 (file)
@@ -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);