simcall_rdv_set_receiver(data->mailbox_small, proc);
XBT_DEBUG("<%d> New process in the game: %p", index, proc);
}
+ if (smpi_process_data() == NULL)
+ xbt_die("smpi_process_data() returned NULL. You probably gave a NULL parameter to MPI_Init. Although it's required by MPI-2, this is currently not supported by SMPI.");
}
void smpi_process_destroy(void)
*/
void smpi_process_finalize(void)
{
+#if 0
+ // wait for all pending asynchronous comms to finish
+ while (SIMIX_process_has_pending_comms(SIMIX_process_self())) {
+ simcall_process_sleep(0.01);
+ }
+#else
int i;
int size = smpi_comm_size(MPI_COMM_WORLD);
int rank = smpi_comm_rank(MPI_COMM_WORLD);
smpi_mpi_waitall( size-1, requests+1, MPI_STATUSES_IGNORE );
free( requests );
}
-
+#endif
}
/**