aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/select.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/select.c b/lib/select.c
index 4a7fee492..7c2f2624f 100644
--- a/lib/select.c
+++ b/lib/select.c
@@ -110,8 +110,15 @@ int Curl_select(curl_socket_t readfd, curl_socket_t writefd, int timeout_ms)
if (readfd != CURL_SOCKET_BAD) {
if (pfd[num].revents & (POLLIN|POLLHUP))
ret |= CSELECT_IN;
- if (pfd[num].revents & POLLERR)
- ret |= CSELECT_ERR;
+ if (pfd[num].revents & POLLERR) {
+#ifdef __CYGWIN__
+ /* Cygwin 1.5.21 needs this hack to pass test 160 */
+ if (errno == EINPROGRESS)
+ ret |= CSELECT_IN;
+ else
+#endif
+ ret |= CSELECT_ERR;
+ }
num++;
}
if (writefd != CURL_SOCKET_BAD) {