Code

http.c: Use curl_multi_fdset to select on curl fds instead of just sleeping
[git.git] / http.c
diff --git a/http.c b/http.c
index b2ae8de16db3abe2cad27249ae767f421aa6bb24..a815f628b92649a82e67c9d486312bdec4892051 100644 (file)
--- a/http.c
+++ b/http.c
@@ -651,14 +651,14 @@ void run_active_slot(struct active_request_slot *slot)
                }
 
                if (slot->in_use && !data_received) {
-                       max_fd = 0;
+                       max_fd = -1;
                        FD_ZERO(&readfds);
                        FD_ZERO(&writefds);
                        FD_ZERO(&excfds);
+                       curl_multi_fdset(curlm, &readfds, &writefds, &excfds, &max_fd);
                        select_timeout.tv_sec = 0;
                        select_timeout.tv_usec = 50000;
-                       select(max_fd, &readfds, &writefds,
-                              &excfds, &select_timeout);
+                       select(max_fd+1, &readfds, &writefds, &excfds, &select_timeout);
                }
        }
 #else