From: Augustin Degomme Date: Fri, 21 Sep 2012 10:34:55 +0000 (+0200) Subject: change the behavior of mpi_testall to loop over mpi_test and no longer mpi_testany. X-Git-Tag: v3_8~146^2~34 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/042da1ec5ed4dca6d4065c1016f46fbea2e7abe1 change the behavior of mpi_testall to loop over mpi_test and no longer mpi_testany. --- diff --git a/src/smpi/smpi_base.c b/src/smpi/smpi_base.c index c9443f0b79..458eb849cc 100644 --- a/src/smpi/smpi_base.c +++ b/src/smpi/smpi_base.c @@ -302,7 +302,7 @@ int flag; else flag = simcall_comm_test((*request)->action); if(flag) { - smpi_mpi_wait(request, status); + finish_wait(request, status); } return flag; } @@ -346,36 +346,12 @@ int smpi_mpi_testany(int count, MPI_Request requests[], int *index, int smpi_mpi_testall(int count, MPI_Request requests[], MPI_Status status[]) { - xbt_dynar_t comms; - int i, flag, size; - int* map; + int flag=1; + int i; + for(i=0; i 0) { - comms = xbt_dynar_new(sizeof(smx_action_t), NULL); - map = xbt_new(int, count); - size = 0; - for(i = 0; i < count; i++) { - if(requests[i]->action) { - xbt_dynar_push(comms, &requests[i]->action); - map[size] = i; - size++; - } - } - - int n_finished=0; - while(n_finished