From 5aed96962888b4805ec16e87ab709bf50bee1d3d Mon Sep 17 00:00:00 2001 From: Zach Borboa Date: Thu, 27 Apr 2017 00:15:48 -0700 Subject: [PATCH] Add additional wait when curl_multi_select fails to block --- src/Curl/MultiCurl.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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) {