On Thursday, August 12, 2010 09:43:16 am Daniel Stenberg wrote: > 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().
For all instances where the 1ms timeouts were cleared, I replaced it with the code that calculates the next relevant timeout. For practical purposes, shouldn't that suffice? > - I don't see how this handles CURLOPT_CONNECTTIMEOUT so it isn't fixing > the whole known bug #62. It might not. I was only addressing the bug as it affected my project. > - 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. Possible, I might not have noticed this in my own testing... > 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. Ok, I will probably just wait until then and test the git code... ------------------------------------------------------------------- List admin: http://cool.haxx.se/list/listinfo/curl-library Etiquette: http://curl.haxx.se/mail/etiquette.html
