diff options
Diffstat (limited to 'lib/socks.c')
-rw-r--r-- | lib/socks.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/socks.c b/lib/socks.c index 9787f864a..a10a99186 100644 --- a/lib/socks.c +++ b/lib/socks.c @@ -77,7 +77,7 @@ int Curl_blockread_all(struct connectdata *conn, /* connection data */ conntime = Curl_tvdiff(tvnow, conn->created); if(conntime > conn_timeout) { /* we already got the timeout */ - result = ~CURLE_OK; + result = CURLE_OPERATION_TIMEDOUT; break; } if(Curl_socket_ready(sockfd, CURL_SOCKET_BAD, @@ -86,7 +86,9 @@ int Curl_blockread_all(struct connectdata *conn, /* connection data */ break; } result = Curl_read_plain(sockfd, buf, buffersize, &nread); - if(result) + if(CURLE_AGAIN == result) + continue; + else if(result) break; if(buffersize == nread) { |