title: Why are curl_multi_select and curl_multi_info_read contradicting each other?
body: <p>When I run the below code it seems to me <code>curl_multi_select</code> and <code>curl_multi_info_read</code> are contradicting each other.  As I understand it <code>curl_multi_select</code> is supposed to be blocking until <code>curl_multi_exec</code> has a response but I haven't seen that actually happen.</p>
  
  <pre><code>$url = "http://google.com";
  $ch  = curl_init($url);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
  curl_setopt($ch, CURLOPT_VERBOSE, TRUE);
  
  $mc = curl_multi_init();
  curl_multi_add_handle($mc, $ch);
  
  do {
    $exec = curl_multi_exec($mc, $running);
  } while ($exec == CURLM_CALL_MULTI_PERFORM);
  
  $ready=curl_multi_select($mc, 100);
  var_dump($ready);
  
  $info = curl_multi_info_read($mc,$msgs);
  var_dump($info);
  </code></pre>
  
  <p>this returns</p>
  
  <pre><code>int 1
  boolean false
  </code></pre>
  
  <p>which seems to contradict itself.  How can it be ready and not have any messages?</p>
  
  <p>The php version I'm using is 5.3.9</p>