diff options
author | Daniel Stenberg <daniel@haxx.se> | 2020-02-14 16:16:54 +0100 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2020-02-17 00:08:48 +0100 |
commit | 4a4b63daaa01ef59b131d91e8e6e6dfe275c0f08 (patch) | |
tree | 0d8804b728da55d1296431b1eeb7f446b9e460a5 /lib/multi.c | |
parent | d60b1b37a1682dee3a53bc6e15b44ecab9811297 (diff) | |
download | curl-4a4b63daaa01ef59b131d91e8e6e6dfe275c0f08.tar.gz |
socks: make the connect phase non-blocking
Removes two entries from KNOWN_BUGS.
Closes #4907
Diffstat (limited to 'lib/multi.c')
-rw-r--r-- | lib/multi.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/multi.c b/lib/multi.c index 51154d6b2..ef86f7c22 100644 --- a/lib/multi.c +++ b/lib/multi.c @@ -47,6 +47,7 @@ #include "http_proxy.h" #include "http2.h" #include "socketpair.h" +#include "socks.h" /* The last 3 #include files should be in this order */ #include "curl_printf.h" #include "curl_memory.h" @@ -856,6 +857,9 @@ static int waitconnect_getsock(struct connectdata *conn, return Curl_ssl_getsock(conn, sock); #endif + if(SOCKS_STATE(conn->cnnct.state)) + return Curl_SOCKS_getsock(conn, sock, FIRSTSOCKET); + for(i = 0; i<2; i++) { if(conn->tempsock[i] != CURL_SOCKET_BAD) { sock[s] = conn->tempsock[i]; |