From 2371a9c7d1c0d8ce89a740fc37325eecf7d6ffcd Mon Sep 17 00:00:00 2001 From: Nathan Gass Date: Tue, 25 Oct 2011 14:23:02 +0000 Subject: replace busy curl_multi loop by correct curl_multi loop from php doku --- it_url.class | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'it_url.class') diff --git a/it_url.class b/it_url.class index baac7c7..d943346 100644 --- a/it_url.class +++ b/it_url.class @@ -389,9 +389,20 @@ function get_multi($p=null) curl_multi_add_handle($mh, $ch[$key]); } + // curl_multi loop copied from example at http://php.net/manual/en/function.curl-multi-exec.php + $active = null; + //execute the handles do { - curl_multi_exec($mh, $running); - } while ($running > 0); + $mrc = curl_multi_exec($mh, $active); + } while ($mrc == CURLM_CALL_MULTI_PERFORM); + + while ($active && $mrc == CURLM_OK) { + if (curl_multi_select($mh) != -1) { + do { + $mrc = curl_multi_exec($mh, $active); + } while ($mrc == CURLM_CALL_MULTI_PERFORM); + } + } $results = array(); foreach ($p['urls'] as $key => $url) -- cgit v1.2.3