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/sendf.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/sendf.c')
-rw-r--r-- | lib/sendf.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/sendf.c b/lib/sendf.c index 62071c4f2..51bbca75e 100644 --- a/lib/sendf.c +++ b/lib/sendf.c @@ -692,19 +692,20 @@ CURLcode Curl_read_plain(curl_socket_t sockfd, ssize_t nread = sread(sockfd, buf, bytesfromsocket); if(-1 == nread) { - int err = SOCKERRNO; - int return_error; + const int err = SOCKERRNO; + const bool return_error = #ifdef USE_WINSOCK - return_error = WSAEWOULDBLOCK == err; + WSAEWOULDBLOCK == err #else - return_error = EWOULDBLOCK == err || EAGAIN == err || EINTR == err; + EWOULDBLOCK == err || EAGAIN == err || EINTR == err #endif + ; + *n = 0; /* no data returned */ if(return_error) return CURLE_AGAIN; return CURLE_RECV_ERROR; } - /* we only return number of bytes read when we return OK */ *n = nread; return CURLE_OK; } |