i trying implement logical ring mpi; every process receives message process id 1 less of current process , forwards next process in cyclic fashion. aim traffic buffer such loses messages or maybe puts them in out of order. cycle of communication finish when message dispatched root node comes again root. here code have tried: including relevant parts of it. if(procid!=root) { sleep(100); while(1) { tm = mpi_wtime(); mpi_irecv( &message, str_len, mpi_char, ((procid-1)>=0?(procid-1):(numproc-1)),return_data_tag, mpi_comm_world,&receiverequest); mpi_wait(&receiverequest,&status); printf("%d: received\n",procid); if(!strncmp(message,"stop",4)&&(procid==(numproc-1))) break; mpi_ssend( message, str_len, mpi_char, (procid+1)%numproc, send_data_tag, mpi_comm_world); if(!strncmp(message,"stop",4)) ...