On Thu, 12 Aug 2010, Luke Dashjr wrote:
As far as I remember, we've never had a non-contriversial and complete
patch for that problem. Can you provide the patch again please?
Attached. One person had some compiler compatibility change suggestions,
which was before the -r2 version of this patch. After that, one person wrote
that it "works fine, passes all tests, but it is still plain wrong" but
never came up with any real technical reasons *why* it was wrong.
Thanks. I can see a few problems with this patch:
- It still handles only one timeout stored at any given time for an easy
handle, which feels like it risks dropping a timeout as we use 1 millisecond
ones every now and then. I am the one who introduced this as a single
timeout so I'm not blaming anyone else, I've just grown into believing it
isn't good enough. Hence my approach to use a list for the timeouts and
keep track of *all* timeouts set with Curl_expire().
- I don't see how this handles CURLOPT_CONNECTTIMEOUT so it isn't fixing the
whole known bug #62.
- It seems to assume that the timeout struct field is always set to a sensible
non-zero value, while the timeout value is in fact 0 (zero) when the timeout
isn't used.
Since I believe I have come up with a better approach to this problem, I would
rather have us work on that and polish off any remaining problems it may
suffer from. I will merge those changes into mainline within a day or two and
then we can all just use git HEAD to test drive these modifications.
Thanks a lot for your help and interest to improve libcurl!
--
/ daniel.haxx.se
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html