10.3.2. Error Handlers for Windows

PreviousUpNext
Up: Error Handling Next: Error Handlers for Files Previous: Error Handlers for Communicators

MPI_WIN_CREATE_ERRHANDLER(win_errhandler_fn, errhandler)
IN win_errhandler_fnuser defined error handling procedure (function)
OUT errhandler MPI error handler (handle)
C binding
int MPI_Win_create_errhandler(MPI_Win_errhandler_function *win_errhandler_fn, MPI_Errhandler *errhandler)
Fortran 2008 binding
MPI_Win_create_errhandler(win_errhandler_fn, errhandler, ierror)

PROCEDURE(MPI_Win_errhandler_function) :: win_errhandler_fn
TYPE(MPI_Errhandler), INTENT(OUT) :: errhandler
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
Fortran binding
MPI_WIN_CREATE_ERRHANDLER(WIN_ERRHANDLER_FN, ERRHANDLER, IERROR)

EXTERNAL WIN_ERRHANDLER_FN
INTEGER ERRHANDLER, IERROR

Creates an error handler that can be attached to a window object. The user routine should be, in C, a function of type MPI_Win_errhandler_function, which is defined as

typedef void MPI_Win_errhandler_function(MPI_Win *win, int *error_code, ...);

The first argument is the window in use, the second is the error code to be returned. The remaining arguments are ``varargs'' arguments whose number and meaning is implementation-dependent. An implementation should clearly document these arguments.

With the Fortran mpi_f08 module, the user routine win_errhandler_fn should be of the form:

ABSTRACT INTERFACE
    SUBROUTINE MPI_Win_errhandler_function(win, error_code)

TYPE(MPI_Win) :: win
INTEGER :: error_code

With the Fortran mpi module and (deprecated) mpif.h include file, the user routine WIN_ERRHANDLER_FN should be of the form:

SUBROUTINE WIN_ERRHANDLER_FUNCTION(WIN, ERROR_CODE)

INTEGER WIN, ERROR_CODE

MPI_WIN_SET_ERRHANDLER(win, errhandler)
INOUT winwindow object (handle)
IN errhandlernew error handler for window (handle)
C binding
int MPI_Win_set_errhandler(MPI_Win win, MPI_Errhandler errhandler)
Fortran 2008 binding
MPI_Win_set_errhandler(win, errhandler, ierror)

TYPE(MPI_Win), INTENT(IN) :: win
TYPE(MPI_Errhandler), INTENT(IN) :: errhandler
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
Fortran binding
MPI_WIN_SET_ERRHANDLER(WIN, ERRHANDLER, IERROR)

INTEGER WIN, ERRHANDLER, IERROR

Attaches a new error handler to a window. The error handler must be either a predefined error handler, or an error handler created by a call to MPI_WIN_CREATE_ERRHANDLER.

MPI_WIN_GET_ERRHANDLER(win, errhandler)
IN winwindow object (handle)
OUT errhandlererror handler currently associated with window (handle)
C binding
int MPI_Win_get_errhandler(MPI_Win win, MPI_Errhandler *errhandler)
Fortran 2008 binding
MPI_Win_get_errhandler(win, errhandler, ierror)

TYPE(MPI_Win), INTENT(IN) :: win
TYPE(MPI_Errhandler), INTENT(OUT) :: errhandler
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
Fortran binding
MPI_WIN_GET_ERRHANDLER(WIN, ERRHANDLER, IERROR)

INTEGER WIN, ERRHANDLER, IERROR

Retrieves the error handler currently associated with a window.


PreviousUpNext
Up: Error Handling Next: Error Handlers for Files Previous: Error Handlers for Communicators


Return to MPI-4.1 Standard Index
Return to MPI Forum Home Page

(Unofficial) MPI-4.1 of November 2, 2023
HTML Generated on November 19, 2023