Provided by: openmpi-doc_4.1.4-3ubuntu2_all bug

NAME

       MPI_Comm_get_parent - Returns the parent intercommunicator of current spawned process.

SYNTAX

C Syntax

       #include <mpi.h>
       int MPI_Comm_get_parent(MPI_Comm *parent)

Fortran Syntax

       USE MPI
       ! or the older form: INCLUDE 'mpif.h'
       MPI_COMM_GET_PARENT(PARENT, IERROR)
            INTEGER   PARENT, IERROR

Fortran 2008 Syntax

       USE mpi_f08
       MPI_Comm_get_parent(parent, ierror)
            TYPE(MPI_Comm), INTENT(OUT) :: parent
            INTEGER, OPTIONAL, INTENT(OUT) :: ierror

C++ Syntax

       #include <mpi.h>
       static MPI::Intercomm MPI::Comm::Get_parent()

OUTPUT PARAMETERS

       parent    The parent communicator (handle).

       IERROR    Fortran only: Error status (integer).

DESCRIPTION

       If    a    process   was   started   with   MPI_Comm_spawn   or   MPI_Comm_spawn_multiple,
       MPI_Comm_get_parent returns the "parent" intercommunicator of the  current  process.  This
       parent  intercommunicator  is  created  implicitly  inside  of  MPI_Init  and  is the same
       intercommunicator returned by the spawn call made in the parents.

       If the process was not spawned, MPI_Comm_get_parent returns MPI_COMM_NULL.

       After the parent  communicator  is  freed  or  disconnected,  MPI_Comm_get_parent  returns
       MPI_COMM_NULL.

NOTES

       MPI_Comm_get_parent   returns   a   handle   to   a   single   intercommunicator.  Calling
       MPI_Comm_get_parent a second time returns a handle to the same intercommunicator.  Freeing
       the  handle  with  MPI_Comm_disconnect or MPI_Comm_free will cause other references to the
       intercommunicator to become invalid (dangling). Note that  calling  MPI_Comm_free  on  the
       parent communicator is not useful.

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_spawn
       MPI_Comm_spawn_multiple