diff --git a/src/Curl/MultiCurl.php b/src/Curl/MultiCurl.php index 6f8a5fa..b70b695 100644 --- a/src/Curl/MultiCurl.php +++ b/src/Curl/MultiCurl.php @@ -639,7 +639,13 @@ class MultiCurl } do { - curl_multi_select($this->multiCurl); + + // Wait for activity on any curl_multi connection when curl_multi_select (libcurl) fails to correctly block. + // https://bugs.php.net/bug.php?id=63411 + if (curl_multi_select($this->multiCurl) === -1) { + usleep(100000); + } + curl_multi_exec($this->multiCurl, $active); while (!($info_array = curl_multi_info_read($this->multiCurl)) === false) {