cURL / Mailing Lists / curl-library / Single Mail

curl-library

ares question

From: Michael Mastroianni <MMastroianni_at_choicestream.com>
Date: Fri, 21 Oct 2005 10:51:07 -0400

I should probably be posting to the ares list, but I haven't seen any
mail from it, and can't view the archives, so I'll try here.

My situation is that I am using libcurl-7.14.1 and c-ares-1.3.0 on
various linux and windows platforms. I have a lot of threads running at
once using the easy interface (for various reasons, multi won't work for
me). I noticed that when I switched from libcurl-7.11.3 and whatever old
version of ares I used to be using, that I got a _lot_ more dns timeouts
(on some machines, half). So I tried doing the following in hostares.c

    /* areschannel is already setup in the Curl_open() function */
    start = tickCount();

    fprintf(stderr, "%ld %s %s \n",
            (long)start,
            hostname,
            "ares_gethostbyname enter:");

    ares_gethostbyname(data->state.areschannel, hostname, PF_INET,
                       (ares_host_callback)Curl_addrinfo4_callback,
conn);
    end = tickCount();
    elapsed = end - start;

    fprintf(stderr, "%ld %s %s %s %ld \n",
            (long)end,
            hostname,
            "ares_gethostbyname exit:",
            ares_strerror(conn->async.status),
            (long)elapsed);

The weird thing is that they seem to be synchronized, ie, if the first
one is snooglebar.aardvark.com, so is the next one, _always_. I would
expect to see some interleaving in stderr, ie, snooglebar.aardvark.com
starts and whatever.something.com ends.

Any comments on this?

Thanks for any help.

 
Received on 2005-10-21