On Thu, 17 Feb 2011, Mike Crowe wrote:

Thanks for your report and research on this!

One of our unit tests for code that sits on top of libcurl identified a problem when we upgraded from curl-7.20.0 to curl-7.21.3. The test starts an HTTP GET with a timeout (via CURLOPT_TIMEOUT_MS) from a URI that provides the body only very slowly. After a while the request times out and the test tries to continue from where it left off using CURLOPT_RESUME_FROM. This second request fails immediately with CURLE_RANGE_ERROR.

A wireshark capture showed that libcurl was continuing to use the same
HTTP connection for the second request

Doesn't it suffice to just read the VERBOSE output? It normally says if it closes connections and when it re-uses existing ones...

The following patch stops the connection being re-used and fixes the
problem for me but I'm not convinced that this is the best way to fix
it.

Since the problem is detected before the switch() we cannot easily use the "disconnect_conn = TRUE" logic for it, so I think your fix is accurate and good. I'll commit and push it, thanks!


--

 / daniel.haxx.se
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette:  http://curl.haxx.se/mail/etiquette.html

Reply via email to