From 9406ab91a2deffc09ad7951c7addc4153eb16df4 Mon Sep 17 00:00:00 2001 From: Waldek Kozba <100assc@gmail.com> Date: Tue, 7 Oct 2014 12:53:59 +0200 Subject: [PATCH] multi-uv.c: close the file handle after download --- docs/examples/multi-uv.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/examples/multi-uv.c b/docs/examples/multi-uv.c index f91eb01c94800e..e1d7276630094a 100644 --- a/docs/examples/multi-uv.c +++ b/docs/examples/multi-uv.c @@ -90,6 +90,7 @@ void add_download(const char *url, int num) handle = curl_easy_init(); curl_easy_setopt(handle, CURLOPT_WRITEDATA, file); + curl_easy_setopt(handle, CURLOPT_PRIVATE, file); curl_easy_setopt(handle, CURLOPT_URL, url); curl_multi_add_handle(curl_handle, handle); fprintf(stderr, "Added download %s -> %s\n", url, filename); @@ -101,16 +102,21 @@ static void check_multi_info(void) char *done_url; CURLMsg *message; int pending; + FILE *file; while ((message = curl_multi_info_read(curl_handle, &pending))) { switch (message->msg) { case CURLMSG_DONE: curl_easy_getinfo(message->easy_handle, CURLINFO_EFFECTIVE_URL, &done_url); + curl_easy_getinfo(message->easy_handle, CURLINFO_PRIVATE, &file); printf("%s DONE\n", done_url); curl_multi_remove_handle(curl_handle, message->easy_handle); curl_easy_cleanup(message->easy_handle); + if (file) { + fclose(file); + } break; default: