Multi_Curl无法正常工作

I've took an example of using multi_curl from php.net and got a problem. Why does this code downloads page less then 30 times (usually from 5 to 20 times)? I've tried to change timeouts, but this does not helps.

$cmh   = curl_multi_init();
$tasks = array();

for ($i = 0; $i < 30; $i++) {

 $ch = curl_init('http://www.bloomberg.com');
 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt($ch, CURLOPT_HEADER, 1);

 $tasks[$i] = $ch;

 curl_multi_add_handle($cmh, $ch);
}

$active = null;
$result = array();

do {
 $mrc = curl_multi_exec($cmh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);

while ($active && ($mrc == CURLM_OK)) {
if (curl_multi_select($cmh) == -1) {
    usleep(100); 
}

do {
    $mrc = curl_multi_exec($cmh, $active);

    $info = curl_multi_info_read($cmh);

    if ($info['msg'] == CURLMSG_DONE) {
        $ch                  = $info['handle'];
        $url                 = array_search($ch, $tasks);
        $result[intval($ch)] = curl_multi_getcontent($ch);

        echo ($result[intval($ch)]) . '<br/>';

        curl_multi_remove_handle($cmh, $ch);
        curl_close($ch);
    }
} while ($mrc == CURLM_CALL_MULTI_PERFORM);

}
curl_multi_close($cmh);