if ((*request)->action != NULL) { // this is not a detached send
simcall_comm_wait((*request)->action, -1.0);
- }
-
#ifdef HAVE_MC
if(MC_is_active())
(*request)->action->comm.dst_data = NULL; // dangling pointer : dst_data is freed with a wait, need to set it to NULL for system state comparison
#endif
+ }
finish_wait(request, status);
*request = MPI_REQUEST_NULL;
void smpi_process_finalize(void)
{
// wait for all pending asynchronous comms to finish
+ if(!MC_is_active())
while (SIMIX_process_has_pending_comms(SIMIX_process_self())) {
simcall_process_sleep(0.01);
}