NAME¶
MPI_Comm_disconnect - Deallocates communicator object and sets handle to
MPI_COMM_NULL.
SYNTAX¶
C Syntax¶
#include <mpi.h>
int MPI_Comm_disconnect(MPI_Comm * comm)
Fortran Syntax¶
INCLUDE 'mpif.h'
MPI_COMM_DISCONNECT( COMM, IERROR)
INTEGER COMM, IERROR
C++ Syntax¶
#include <mpi.h>
void MPI::Comm::Disconnect()
- comm
- Communicator (handle).
OUTPUT PARAMETER¶
- IERROR
- Fortran only: Error status (integer).
DESCRIPTION¶
MPI_Comm_disconnect waits for all pending communication on
comm to
complete internally, deallocates the communicator object, and sets the handle
to MPI_COMM_NULL. It is a collective operation.
It may not be called with the communicator MPI_COMM_WORLD or MPI_COMM_SELF.
MPI_Comm_disconnect may be called only if all communication is complete and
matched, so that buffered data can be delivered to its destination. This
requirement is the same as for MPI_Finalize.
MPI_Comm_disconnect has the same action as MPI_Comm_free, except that it waits
for pending communication to finish internally and enables the guarantee about
the behavior of disconnected processes.
NOTES¶
To disconnect two processes you may need to call MPI_Comm_disconnect,
MPI_Win_free, and MPI_File_close to remove all communication paths between the
two processes. Note that it may be necessary to disconnect several
communicators (or to free several windows or files) before two processes are
completely independent.
ERRORS¶
Almost all MPI routines return an error value; C routines as the value of the
function and Fortran routines in the last argument. C++ functions do not
return errors. If the default error handler is set to
MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will
be used to throw an MPI:Exception object.
Before the error value is returned, the current MPI error handler is called. By
default, this error handler aborts the MPI job, except for I/O function
errors. The error handler may be changed with MPI_Comm_set_errhandler; the
predefined error handler MPI_ERRORS_RETURN may be used to cause error values
to be returned. Note that MPI does not guarantee that an MPI program can
continue past an error.
SEE ALSO¶
MPI_Comm_connect
MPI_Comm_accept