X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ebfaf0308c650a96e42eb454f2f81dc0b7346511..efcf0fb465cf0465c462fc28a830ccd4d6b6b13c:/src/smpi/smpi_base.cpp?ds=sidebyside diff --git a/src/smpi/smpi_base.cpp b/src/smpi/smpi_base.cpp index 54ef209a49..ccc85cda09 100644 --- a/src/smpi/smpi_base.cpp +++ b/src/smpi/smpi_base.cpp @@ -74,7 +74,7 @@ static int match_send(void* a, void* b,smx_synchro_t ignored) { typedef struct s_smpi_factor_multival *smpi_os_factor_multival_t; typedef struct s_smpi_factor_multival { // FIXME: this should be merged (deduplicated) with s_smpi_factor defined in network_smpi.c long factor=0; - std::vector values; /** We allocate arbitrarily 4 elements **/ + std::vector values; } s_smpi_factor_multival_t; std::vector smpi_os_values; @@ -793,20 +793,19 @@ int smpi_mpi_testany(int count, MPI_Request requests[], int *index, MPI_Status * simcall_process_sleep(nsleeps*smpi_test_sleep); i = simcall_comm_testany(comms); // The i-th element in comms matches! - // not MPI_UNDEFINED, as this is a simix return code - if (i != -1) { + if (i != -1) { // -1 is not MPI_UNDEFINED but a SIMIX return code. (nothing matches) *index = map[i]; finish_wait(&requests[*index], status); - if (requests[*index] != MPI_REQUEST_NULL && (requests[*index]->flags & NON_PERSISTENT)) - requests[*index] = MPI_REQUEST_NULL; flag = 1; nsleeps = 1; - }else{ + if (requests[*index] != MPI_REQUEST_NULL && (requests[*index]->flags & NON_PERSISTENT)) { + requests[*index] = MPI_REQUEST_NULL; + } + } else { nsleeps++; } - }else{ - //all requests are null or inactive, return true - flag=1; + } else { + flag = 0; // all requests are null or inactive, return false smpi_empty_status(status); } xbt_dynar_free(&comms);