Provided by: openmpi-doc_4.1.6-7ubuntu2_all bug

NAME

       MPI_Comm_create_errhandler  - Creates an error handler that can be attached to communicators.

SYNTAX

C Syntax

       #include <mpi.h>
       int MPI_Comm_create_errhandler(MPI_Comm_errhandler_function *function,
            MPI_Errhandler *errhandler)

Fortran Syntax

       USE MPI
       ! or the older form: INCLUDE 'mpif.h'
       MPI_COMM_CREATE_ERRHANDLER(FUNCTION, ERRHANDLER, IERROR)
            EXTERNAL  FUNCTION
            INTEGER   ERRHANDLER, IERROR

Fortran 2008 Syntax

       USE mpi_f08
       MPI_Comm_create_errhandler(comm_errhandler_fn, errhandler, ierror)
            PROCEDURE(MPI_Comm_errhandler_function) :: comm_errhandler_fn
            TYPE(MPI_Errhandler), INTENT(OUT) :: errhandler
            INTEGER, OPTIONAL, INTENT(OUT) :: ierror

C++ Syntax

       #include <mpi.h>
       static MPI::Errhandler
            MPI::Comm::Create_errhandler(MPI::Comm::Errhandler_function*
            function)

DEPRECATED TYPE NAME NOTE

       MPI-2.2   deprecated   the   MPI_Comm_errhandler_fn   and  MPI::Comm::Errhandler_fn  types  in  favor  of
       MPI_Comm_errhandler_function and MPI::Comm::Errhandler_function, respectively.  Open  MPI  supports  both
       names (indeed, the _fn names are typedefs to the _function names).

INPUT PARAMETER

       function  User-defined error handling procedure (function).

OUTPUT PARAMETERS

       errhandler
                 MPI error handler (handle).

       IERROR    Fortran only: Error status (integer).

DESCRIPTION

       MPI_Comm_create_errhandler  creates an error handler that can be attached to communicators. This function
       is identical to MPI_Errhandler_create, the use of which is deprecated.

       In C, the user routine should be a function of type MPI_Comm_errhandler_function, which is defined as

           typedef void MPI_Comm_errhandler_function(MPI_Comm *, int *, ...);

       The first argument is the communicator in use. The second is the error code to be  returned  by  the  MPI
       routine  that  raised  the  error.  This  typedef  replaces  MPI_Handler_function,  the  use  of which is
       deprecated.

       In Fortran, the user routine should be of this form:

           SUBROUTINE COMM_ERRHANDLER_FUNCTION(COMM, ERROR_CODE, ...)
               INTEGER COMM, ERROR_CODE

       In C++, the user routine should be of this form:

           typedef void MPI::Comm::Errhandler_function(MPI_Comm &, int *, ...);

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.

4.1.6                                             Sep 30, 2023                     MPI_Comm_create_errhandler(3)