title: MPI_Bcast all processes sends to all the rest of process
body: <p>I'm trying to make that  every process broadcasts to all the rest of processes  this way</p>
  
  <pre><code>#include "mpi.h"
  #include &lt;stdio.h&gt;
  
  int main(argc,argv)
  int argc;
  char **argv;
  {
  
    int MyProc, size,tag=1;
    int msg_recpt;
    MPI_Status status;
  
    MPI_Init(&amp;argc, &amp;argv);
    MPI_Comm_rank(MPI_COMM_WORLD, &amp;MyProc);
    MPI_Comm_size(MPI_COMM_WORLD, &amp;size);
  
    printf("Process # %d started \n", MyProc);
    MPI_Barrier(MPI_COMM_WORLD);
  
  
      MPI_Bcast( &amp;MyProc, 1, MPI_INT, MyProc, MPI_COMM_WORLD);
      MPI_Recv(&amp;msg_recpt, 1, MPI_CHAR, MyProc, tag, MPI_COMM_WORLD, &amp;status);
      printf("Proc #%d recv'd message from Proc #%d \n", MyProc, msg_recpt) ;
  
  
    printf("Finishing proc %d\n", MyProc);
  
    MPI_Barrier(MPI_COMM_WORLD);
    MPI_Finalize();
  }
  </code></pre>
  
  <p>I need to show the sender process on the message after <code>MPI_Recv</code> but I think it's blocked the execution doesn't arrive to <code>printf("Finishing proc %d\n", MyProc);</code></p>