text: #include "mpi.h"
  #include "nxtval.h"
  #include <stdio.h>
  
  int main( int argc, char *argv[] )
  {
    MPI_Comm counter_comm, worker_comm;
  
    MPI_Init( &argc, &argv );
  
    MPE_Counter_create( MPI_COMM_WORLD, &worker_comm, &counter_comm );
  
    if (worker_comm != MPI_COMM_NULL) {
      /* I am one of the workers; the master doesn't exit create until
         MPE_Counter_free is called */
      int value, rank;
      MPI_Comm_rank( counter_comm, &rank );
      MPE_Counter_nxtval( counter_comm, &value );
      printf( "[%d] received value %d\n", rank, value );
      MPE_Counter_free( &worker_comm, &counter_comm );
    }
  
    MPI_Finalize( );
    return 0;
  }
  