title: MPI_Iprobe vs MPI_Probe
body: <p>In MPI_Iprobe, one needs to check for the flag several times to actually find out if there is any messages, one way to do this is to put it in a while loop, I wonder if this approach is equivalent to MPI_Probe
  because basically it blocks the probing in a different way, 
  Is this a wrong way of using Iprobe? </p>
  
  <pre><code>int flag=0
  while(flag==0)
  {
  MPI_Iprobe(MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, &amp;flag,&amp;status);
  cout&lt;&lt;myrank&lt;&lt;" "&lt;&lt;flag&lt;&lt;endl;
  }
  if(flag)
  {
   MPI_Get_count(&amp;status, MPI_INT, &amp;count);
  
   MPI_Irecv(&amp;rcvbuff,count, MPI_INT,destination.at(0),0, MPI_COMM_WORLD, &amp;request);
  
  }
  </code></pre>