"action wait not preceded by any irecv: %s",
xbt_str_join_array(action," "));
request = xbt_dynar_pop_as(globals->irecvs,MPI_Request);
+ xbt_assert(request != NULL, "found null request in globals->irecv");
#ifdef HAVE_TRACING
- int rank = request && request->comm != MPI_COMM_NULL
+ int rank = request->comm != MPI_COMM_NULL
? smpi_comm_rank(request->comm)
: -1;
#endif
log_timed_action (action, clock);
+ xbt_free(recvcounts);
xbt_free(send);
xbt_free(recv);
+ xbt_free(disps);
+
}
static void action_reducescatter(const char *const *action) {
#ifdef HAVE_TRACING
TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
#endif
-
+ xbt_free(recvcounts);
+ xbt_free(disps);
log_timed_action (action, clock);
}