cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: Test 504 in Windows

From: Daniel Stenberg <daniel-curl_at_haxx.se>
Date: Sat, 17 Jul 2004 00:09:50 +0200 (CEST)

On Thu, 8 Jul 2004, Andrés García wrote:

> The second time 'curl_multi_perform' gets invoked, 'easy->state' is
> 'CURLM_STATE_CONNECT'.
>
> In Linux 'Curl_connect' returns 7, couldn't connect error, which ends the
> transfer.
>
> In Windows though, 'Curl_connect' returns '0', in the following invocations,
> 'easy->state' is 'CURL_STATE_WAITRESOLVE' but 'Curl_is_resolved' always
> returns '0', the connection neither works nor fails so the transfer stays in
> a limbo until the test gives up.

Sorry it has taken me a while to get back on this. Thanks for looking at it!

Curl_connect() could return CURLE_OK (0) fine if the resolving of the host was
only started and not finished (if 'async' was set TRUE), and then it should be
resolved asynchronously.

With a "plain" windows build, that resolving would be done using the threaded
resolve approach in hostthre.c

However, since test 504 is using a plain IP address, there's no "resolving"
done and Curl_connect() should return CURLE_OK (0) immediately with 'async'
set FALSE! It should then proceed to the CURLM_STATE_WAITCONNECT state
instead, and there it should probably fail rather soon.

Does this help you continue tracking this?

-- 
      Daniel Stenberg -- http://curl.haxx.se -- http://daniel.haxx.se
       Dedicated custom curl help for hire: http://haxx.se/curl.html
Received on 2004-07-17