82d590629d
- My original patch stands: MPI_FINALIZE directly invokes the attribute callbacks on MPI_COMM_SELF - We added some user-level checks to ensure that they don't call MPI_FINALIZE twice (this isn't really required, but it will prevent whacky segv's -- they'll at least get a nice error message) - Removed the attribute callbacks on MPI_COMM_SELF from ompi_mpi_comm_finalize (i.e., we just moved them from ompi_mpi_comm_finalize to ompi_mpi_finalize -- we just moved this process up earlier in the MPI_FINALIZE sequence of events) - Because there were so many conversations about this, here's the rationale: - MPI-2:4.8 says that we have to MPI_COMM_FREE MPI_COMM_SELF so that the attribute callbacks are invoked. - After considerable discussion, we came to the conclusion that FREE'ing COMM_SELF is not the issue -- calling the callbacks is the issue. - So it is sufficent for MPI_FINALIZE to directly invoke these attribute callbacks - The attribute callbacks are *not* invoked on other communicators because said communicators are not MPI_COMM_FREE'ed This commit was SVN r9628. |
||
---|---|---|
.. | ||
help-mpi-runtime.txt | ||
Makefile.am | ||
mpiruntime.h | ||
ompi_mpi_abort.c | ||
ompi_mpi_finalize.c | ||
ompi_mpi_init.c | ||
ompi_mpi_io.c | ||
ompi_mpi_params.c | ||
params.h |