next up previous contents
Next: Обработчики ошибок для окон Up: Обработчики ошибок Previous: Обработчики ошибок   Contents

Обработчики ошибок для коммуникаторов

MPI_COMM_CREATE_ERRHANDLER(function, errhandler)
IN function пользовательская процедура обработки ошибки (функция)
OUT errhandler обработчик ошибок MPI (дескриптор)
int MPI_Comm_create_errhandler(MPI_Comm_errhandler_fn *function, MPI_Errhandler *errhandler) MPI_COMM_CREATE_ERRHANDLER(FUNCTION, ERRHANDLER, IERROR) EXTERNAL FUNCTION INTEGER ERRHANDLER, IERROR static MPI::Errhandler MPI::Comm::Create_errhandler(MPI::Comm::Errhandler_fn* function)

Создается новый обработчик ошибок, который может быть использован с коммуникатором. Функция идентична устаревшей функции MPI_ERRHANDLER_CREATE, использование которой не рекомендуется.

В языке Си пользовательская процедура должна быть функцией типа MPI_Comm_errhandler_fn, определенной как

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

Первый аргумент - используемый коммуникатор, второй - код ошибки, которую следует вернуть. Это определение типа заменяет устаревшую MPI_Handler_function, использование которой не рекомендуется.

На ФОРТРАН процедура пользователя должна быть в форме: SUBROUTINE COMM_ERRHANDLER_FN(COMM, ERROR_CODE, ... ) INTEGER COMM, ERROR_CODE

В С++ функция пользователя должна быть в форме:
typedef void MPI::Comm::Errhandler_fn(MPI::Comm &, int *, ... );

MPI_COMM_SET_ERRHANDLER(comm, errhandler)  
INOUT comm коммуникатор (дескриптор)  
IN errhandler новый обработчик ошибок для коммуникатора (дескриптор)  
int MPI_Comm_set_errhandler(MPI_Comm comm, MPI_Errhandler errhandler) MPI_COMM_SET_ERRHANDLER(COMM, ERRHANDLER, IERROR) INTEGER COMM, ERRHANDLER, IERROR void MPI::Comm::Set_errhandler(const MPI::Errhandler& errhandler)

Назначает обработчик ошибок коммуникатору. Обработчик должен быть либо стандартным, либо обработчиком, созданным вызовом MPI_COMM_CREATE_ERRHANDLER. Вызов идентичен вызову устаревшей MPI_ERRHANDLER_SET, использование которой не рекомендуется.

MPI_COMM_GET_ERRHANDLER(comm, errhandler)  
IN comm коммуникатор (дескриптор)  
OUT errhandler текущий обработчик ошибок для коммуникатора (дескриптор)  
int MPI_Comm_get_errhandler(MPI_Comm comm, MPI_Errhandler *errhandler) MPI_COMM_GET_ERRHANDLER(COMM, ERRHANDLER, IERROR) INTEGER COMM, ERRHANDLER, IERROR MPI::Errhandler MPI::Comm::Get_errhandler() const

Возвращает обработчик ошибок для коммуникатора. Вызов идентичен вызову устаревшей
MPI_ERRHANDLER_GET, использование которой не рекомендуется.



Alex Otwagin 2002-12-10