aboutsummaryrefslogtreecommitdiff
path: root/lib/http.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/http.c')
-rw-r--r--lib/http.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/http.c b/lib/http.c
index c7a6df015..a8b3e28fd 100644
--- a/lib/http.c
+++ b/lib/http.c
@@ -1309,10 +1309,17 @@ CURLcode Curl_http_connect(struct connectdata *conn, bool *done)
function to make the re-use checks properly be able to check this bit. */
conn->bits.close = FALSE;
- if(conn->bits.tunnel_connecting) {
+ if(data->state.used_interface == Curl_if_multi) {
+ /* when the multi interface is used, the CONNECT procedure might not have
+ been completed */
+ result = Curl_proxy_connect(conn);
+ if(result)
+ return result;
+ }
+
+ if(conn->tunnel_state[FIRSTSOCKET] == TUNNEL_CONNECT)
/* nothing else to do except wait right now - we're not done here. */
return CURLE_OK;
- }
if(conn->given->flags & PROTOPT_SSL) {
/* perform SSL initialization */