curl / Mailing Lists / curl-library / Single Mail
Buy commercial curl support from WolfSSL. We help you work out your issues, debug your libcurl applications, use the API, port to new platforms, add new features and more. With a team lead by the curl founder himself.

CURL Sending FINS without curl_multi_cleanup, and ways to avoid it

From: Aravindhan Krishnan via curl-library <curl-library_at_cool.haxx.se>
Date: Tue, 13 Aug 2019 14:30:42 +0000

Dear Sir,

I am using lib-curl version 7.58.0(x86_64-pc-linux-gnu). I am using libcurl in combination with libuv to function as a scalable client. I create a multi-handle and associate a bunch of easy handle to it. Apart from it I have enabled pipeline with pipe-length of 5 (default) and have set CURLMOPT_MAX_TOTAL_CONNECTIONS and CURLMOPT_MAX_HOST_CONNECTIONS to 5, just in case if it helps for the question below.

The client is just an extended version of the sample indicated by multi-uv.c, where in I send 20 requests, get the responses, process them and repeat the process infinitely. During the entire process I don’t call curl_multi_cleanup, but after receiving and processing every response, I call curl_multi_remove_handle and curl_easy_cleanup for the completed easy handle.

The Packet Captured at the client end seems to indicate FINs going out from the client. Since, I am not calling curl_multi_cleanup, I was under the impression that there will be no FINs going out of the client, and clearly I am wrong. I just wanted to clarify, in the above described scenario when exactly does CURL send FIN out ? And is there any way to avoid sending FINs out, that way the opened connections can be maintained and the overhead of connection establishment can be avoided without affecting the working of CURL with UV.

Any kind of help or direction is highly appreciated! Thanks!

-------------------------------------------------------------------
Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
Etiquette: https://curl.haxx.se/mail/etiquette.html
Received on 2019-08-13