cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: curl_multi_cleanup simetimes causes crash in NT.DLL (access violation)

From: Daniel Stenberg <daniel_at_haxx.se>
Date: Thu, 8 Apr 2010 23:13:47 +0200 (CEST)

On Thu, 8 Apr 2010, Alan wrote:

> I was looking at another thread which I referenced in my original posting:
> curl_multi_remove_handle closes easy handle, causes crash

> I thought I understood the issue but the author changed the description, so
> now I am not sure. Could you describe the issue you solved with the change
> to multi.c?

Didn't I already do that in the other thread? It was about how we "keep" an
easy handle within the multi handle (when all easy handles are removed) for
some protocol-connections (FTP mostly) to be able to close them properly later
on. In one particular code flow libcurl then managed to close the same easy
handle twice, which caused a crash.

> And when do you plan on posting the next version with the patch?

We provide daily snapshots so you can always get one and try out to see if
there's a changed behavior (and we have the git repo), but 7.20.1 is planned
to get released on the 14th so there are only a few days left.

> Related to this, is it ok to:
> 1. add easy handles to the multi_stack
> 2. process all easy handles
> 3. removed all easy handles from mult_stack
> 4. add easy handles back that had a timeout
> 5. repeat at 3 until no more timeouts or max retries reached.

Yes. There are no restrictions to adding or removing easy handles.

> Or is there an issue with removing all the processed easy_handles from
> muti_stack before re-adding the timeout easy handles?

...

> Note: All easy handles point to same ftp server.

Oh, look at that. So maybe you are in fact suffering from that problem I
fixed...

-- 
  / daniel.haxx.se
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette:  http://curl.haxx.se/mail/etiquette.html
Received on 2010-04-08