
- 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.
/* * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana * University Research and Technology * Corporation. All rights reserved. * Copyright (c) 2004-2005 The University of Tennessee and The University * of Tennessee Research Foundation. All rights * reserved. * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, * University of Stuttgart. All rights reserved. * Copyright (c) 2004-2005 The Regents of the University of California. * All rights reserved. * $COPYRIGHT$ * * Additional copyrights may follow * * $HEADER$ */ /** @mainpage @section mainpage_introduction Introduction This is the introduction. This is the introduction. This is the introduction. This is the introduction. This is the introduction. This is the introduction. This is the introduction. @section main_install Installation This is the installation section. This is the installation section. This is the installation section. This is the installation section. This is the installation section. This is the installation section. This is the installation section. */