curl / Mailing Lists / curl-users / 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.

Regarding async DNS resolver

From: Amit via curl-users <>
Date: Tue, 9 Jul 2019 09:15:40 +0530

Hi All,

This is regarding performance issue due to usage of async DNS resolver for
MULTI interface in lib CURL.

My application is using lib CURL (7.57 version) Muti interface with async
DNS resolver enabled (I.e CURLRES_ASYNCH and POSIX_THREADED are defined).
But I am facing an performance issues as there is no mechanism in CURL to
notify DNS resolved status back to client application due to which HTTP
request (after DNS resolution) are going out of the box with delay.

The reason for the delay is that application is having an timer
implementation which wakes up every 1 second and requests CURL to check all
the ongoing requests (I.e. by calling curl_multi_perform()). So even if DNS
was resolved within 100 msec, request will only be sent out after 1 second
(I.e. with delay of 900 msec).

I could see that in CURL release (7.59) a callback has been added to notify
the clients about DNS resolution start status, but this will not help as I
am looking for some trigger to notify about DNS resolution.

I would like to seek your opinion/thoughts if it is good idea to implement
a callback to notify the clients about DNS resolution ?. Also, let me know
if there is any other available mechanism to achieve the same functionality.

Thanks & Regards,
Amit Katyal

Received on 2019-07-09