1
1
openmpi/src/mpi/c/comm_disconnect.c
Edgar Gabriel 47ec006930 adding the comm and group MPI interface functions to use the new macro
developed by Jeff for checking of MPI_Init/Finalize

This commit was SVN r1415.
2004-06-18 19:02:52 +00:00

43 строки
1.1 KiB
C

/*
* $HEADERS$
*/
#include "ompi_config.h"
#include <stdio.h>
#include "mpi.h"
#include "mpi/c/bindings.h"
#include "runtime/runtime.h"
#include "communicator/communicator.h"
#if OMPI_HAVE_WEAK_SYMBOLS && OMPI_PROFILING_DEFINES
#pragma weak MPI_Comm_disconnect = PMPI_Comm_disconnect
#endif
#if OMPI_PROFILING_DEFINES
#include "mpi/c/profile/defines.h"
#endif
int MPI_Comm_disconnect(MPI_Comm *comm)
{
if ( MPI_PARAM_CHECK ) {
OMPI_ERR_INIT_FINALIZE;
if ( MPI_COMM_NULL == *comm || ompi_comm_invalid (*comm))
return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_COMM,
"MPI_Comm_disconnect");
}
/* disconnect means, just decrease the refcount, without calling
attribute delete fnct. etc. (to be verified.).
Question: do we need a flag verifying which communicators
we are allowed to disconnect from ? E.g. what happens,
if we disconnect from an MPI-1 communicator derived
from MPI_COMM_WORLD ? */
OBJ_RETAIN(*comm);
*comm = MPI_COMM_NULL;
return MPI_SUCCESS;
}