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<double> values; /** We allocate arbitrarily 4 elements **/
+ std::vector<double> values;
} s_smpi_factor_multival_t;
std::vector<s_smpi_factor_multival_t> smpi_os_values;
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);