If MPI_INIT hasn't been called or MPI_FINALIZE has been called, then
just abort(). This commit was SVN r5391.
Этот коммит содержится в:
родитель
78c00921f6
Коммит
1581a8feb4
@ -78,25 +78,25 @@ ompi_mpi_abort(struct ompi_communicator_t* comm,
|
|||||||
|
|
||||||
/* Corner case: if we're being called as a result of the
|
/* Corner case: if we're being called as a result of the
|
||||||
OMPI_ERR_INIT_FINALIZE macro (meaning that this is before
|
OMPI_ERR_INIT_FINALIZE macro (meaning that this is before
|
||||||
MPI_INIT or after MPI_FINALIZE), then comm is not setup yet /
|
MPI_INIT or after MPI_FINALIZE), then just abort nothing MPI or
|
||||||
has already been cleaned up. */
|
ORTE has been setup yet. */
|
||||||
|
|
||||||
if (ompi_mpi_initialized && !ompi_mpi_finalized) {
|
if (!ompi_mpi_initialized || ompi_mpi_finalized) {
|
||||||
|
abort();
|
||||||
|
}
|
||||||
|
|
||||||
/* kill everyone in the remote group execpt our jobid, if
|
/* kill everyone in the remote group execpt our jobid, if
|
||||||
requested */
|
requested */
|
||||||
if (kill_remote_of_intercomm && OMPI_COMM_IS_INTER(comm)) {
|
if (kill_remote_of_intercomm && OMPI_COMM_IS_INTER(comm)) {
|
||||||
abort_procs(comm->c_remote_group->grp_proc_pointers,
|
abort_procs(comm->c_remote_group->grp_proc_pointers,
|
||||||
comm->c_remote_group->grp_proc_count,
|
comm->c_remote_group->grp_proc_count,
|
||||||
my_jobid);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* kill everyone in the local group, except our jobid. */
|
|
||||||
abort_procs(comm->c_local_group->grp_proc_pointers,
|
|
||||||
comm->c_local_group->grp_proc_count,
|
|
||||||
my_jobid);
|
my_jobid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* kill everyone in the local group, except our jobid. */
|
||||||
|
abort_procs(comm->c_local_group->grp_proc_pointers,
|
||||||
|
comm->c_local_group->grp_proc_count,
|
||||||
|
my_jobid);
|
||||||
|
|
||||||
ret = orte_rmgr.terminate_job(my_jobid);
|
ret = orte_rmgr.terminate_job(my_jobid);
|
||||||
|
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user