From 042da1ec5ed4dca6d4065c1016f46fbea2e7abe1 Mon Sep 17 00:00:00 2001 From: Augustin Degomme Date: Fri, 21 Sep 2012 12:34:55 +0200 Subject: [PATCH 1/1] change the behavior of mpi_testall to loop over mpi_test and no longer mpi_testany. --- src/smpi/smpi_base.c | 36 ++++++------------------------------ 1 file changed, 6 insertions(+), 30 deletions(-) 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