MPI_Comm_disconnect(3)             Open MPI             MPI_Comm_disconnect(3)



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()


INPUT/OUTPUT PARAMETER
       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



1.4.1                            Jan 14, 2010           MPI_Comm_disconnect(3)
