cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: Multi interface -- some trouble

From: Daniel Stenberg <daniel-curl_at_haxx.se>
Date: Tue, 17 Feb 2004 12:53:39 +0100 (CET)

On Tue, 17 Feb 2004, Andy Serpa wrote:

> I knew you were gonna say something like that. But you see, I'm not a C
> programmer -- that's why I use Euphoria. So I'm afraid I'd be incapable of
> even building the dang .dll. I only know enough about C to make Euphoria
> wrappers for .dlls.

Then I forsee some problems in chasing this down... :-/

> The crashes occur during curl_multi_perform(), that's all I know.

When you use the multi interface, that's where the crash would appear almost
no matter what the reason is. It doesn't narrow it don't very much.

> I just now tried something. Instead of doing a curl_global_init() at
> application startup and a curl_global_cleanup() at application
> shutdown, I did a global_init(), then one set of multi-handle
> transfers, then a global_cleanup(). Then another global_init() and a
> new set of multi-handle transfers. No crashes on repeated attempts.

> So maybe the global_cleanup() is doing something the easy handle cleanups or
> multi handle cleanup() is not doing?

Well of course it does something else, but I can't see why doing it like this
makes anything different. Are you by any chance using a global dns cache with
CURLOPT_DNS_USE_GLOBAL_CACHE?

> > If you could rewrite your crashing example into a plain C source file
>
> Too dumb to do that, but I can provide you with pseudo-code and the chain of
> exact curl lib function calls and you can try to duplicate in C, if you
> like.

That could be a start, sure.

-- 
    Daniel Stenberg -- http://curl.haxx.se/ -- http://daniel.haxx.se/
   [[ Do not send mails to this email address. They won't reach me. ]]
Received on 2004-02-17