cURL / Mailing Lists / curl-library / Single Mail


RE: threading problem on windows

From: Michael Mastroianni <>
Date: Sun, 4 Jul 2004 10:53:08 -0400

Sorry, I didn't attach it.
Here it is.

        -----Original Message-----
        From: Michael Mastroianni on behalf of Michael Mastroianni
        Sent: Sun 7/4/2004 10:43 AM
        To: libcurl development
        Subject: RE: threading problem on windows
        I finally got things to work by actually defining USE_ARES in config.h, rather than in the project settings. Now I can run with no problems. I do wonder what happened, though. I didn't see USE_THREAD_GET defined anywhere in the code...
        the closest thing I could find was CURLRES_THREADED, defined if you're running W32.
        I have code I can give you, but I'm not sure how... I've got a zip file containing the source, but I don't imagine the list mailer includes attachments. I'll try anyway. You'd have to change the include path and lib path for libcurl in the project settings.
        thanks for any help.

                -----Original Message-----
                From: on behalf of Gisle Vanem
                Sent: Sun 7/4/2004 7:10 AM
                To: libcurl development
                Subject: Re: threading problem on windows

                "Michael Mastroianni" said:
> When I run a lot of threads (like 150), I get blowups in
> gethostbyname_thread in hostthre.c
> in particular, I blow up on the line:
> he = gethostbyname (conn->async.hostname);
                You mean it is NULL or some huge illegal value? I don't see how
                that can happen. The get*_thread() functions doesn't modify that
                string at all. Unless someone else stepping on 'conn->async'.
                Do you have an example program I could try?
> I got c-ares, built it, gave my curllib project the directories, told it
> to link against libares.lib, and defined USE_ARES in the project settings.
> Still, I end up here.
                That shouldn't happen; USE_THREAD_GET* isn't defined unless you defined
                it outside setup.h youself. Looks like your debugger isn't giving you the true
                story or the bug is elsewhere.
                Try to build libcurl with -DCURLDEBUG and watch for allocation errors.
                Look at src/main.c and curl_memdebug("memdump") for how that's done.

Received on 2004-07-04