Fixes trac:2060: MPI-2.2 ticket 7, convert some function pointer typedefs
from "MPI_*_errhandler_fn" to "MPI_*_errhandler_function" (and their corresponding C++ types, too). Also updated the corresponding man pages, and marked the typedefs to the now-deprecated types as deprecated. This commit was SVN r22122. The following Trac tickets were found above: Ticket 2060 --> https://svn.open-mpi.org/trac/ompi/ticket/2060
Этот коммит содержится в:
родитель
8f01bd4c8e
Коммит
c78df0d1b4
@ -10,7 +10,7 @@
|
||||
* University of Stuttgart. All rights reserved.
|
||||
* Copyright (c) 2004-2005 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2008 Cisco Systems, Inc. All rights reserved.
|
||||
* Copyright (c) 2008-2009 Cisco Systems, Inc. All rights reserved.
|
||||
* Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved.
|
||||
* $COPYRIGHT$
|
||||
*
|
||||
@ -213,13 +213,13 @@ ompi_errhandler_t *ompi_errhandler_create(ompi_errhandler_type_t object_type,
|
||||
new_errhandler->eh_lang = lang;
|
||||
switch (object_type ) {
|
||||
case (OMPI_ERRHANDLER_TYPE_COMM):
|
||||
new_errhandler->eh_comm_fn = (MPI_Comm_errhandler_fn *)func;
|
||||
new_errhandler->eh_comm_fn = (MPI_Comm_errhandler_function *)func;
|
||||
break;
|
||||
case (OMPI_ERRHANDLER_TYPE_FILE):
|
||||
new_errhandler->eh_file_fn = (ompi_file_errhandler_fn *)func;
|
||||
break;
|
||||
case (OMPI_ERRHANDLER_TYPE_WIN):
|
||||
new_errhandler->eh_win_fn = (MPI_Win_errhandler_fn *)func;
|
||||
new_errhandler->eh_win_fn = (MPI_Win_errhandler_function *)func;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -10,7 +10,7 @@
|
||||
* University of Stuttgart. All rights reserved.
|
||||
* Copyright (c) 2004-2005 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2008 Cisco Systems, Inc. All rights reserved.
|
||||
* Copyright (c) 2008-2009 Cisco Systems, Inc. All rights reserved.
|
||||
* Copyright (c) 2008-2009 Sun Microsystems, Inc. All rights reserved.
|
||||
* $COPYRIGHT$
|
||||
*
|
||||
@ -109,9 +109,9 @@ struct ompi_errhandler_t {
|
||||
(vs., for example, a union) because the predefined errhandlers
|
||||
can be invoked on any MPI object type, so we need callbacks for
|
||||
all of three. */
|
||||
MPI_Comm_errhandler_fn *eh_comm_fn;
|
||||
MPI_Comm_errhandler_function *eh_comm_fn;
|
||||
ompi_file_errhandler_fn *eh_file_fn;
|
||||
MPI_Win_errhandler_fn *eh_win_fn;
|
||||
MPI_Win_errhandler_function *eh_win_fn;
|
||||
ompi_errhandler_fortran_handler_fn_t *eh_fort_fn;
|
||||
|
||||
/* Have separate callback for C++ errhandlers. This pointer is
|
||||
|
@ -342,19 +342,26 @@ typedef int (MPI_Delete_function)(MPI_Comm, int, void *, void *);
|
||||
typedef int (MPI_Datarep_extent_function)(MPI_Datatype, MPI_Aint *, void *);
|
||||
typedef int (MPI_Datarep_conversion_function)(void *, MPI_Datatype,
|
||||
int, void *, MPI_Offset, void *);
|
||||
typedef void (MPI_Comm_errhandler_fn)(MPI_Comm *, int *, ...);
|
||||
typedef void (MPI_Comm_errhandler_function)(MPI_Comm *, int *, ...);
|
||||
typedef MPI_Comm_errhandler_function MPI_Comm_errhandler_fn
|
||||
__mpi_interface_deprecated__("MPI_Comm_errhandler_fn was deprecated in MPI-2.2; use MPI_Comm_errhandler_function instead");
|
||||
|
||||
#if OMPI_PROVIDE_MPI_FILE_INTERFACE
|
||||
/* This is a little hackish, but errhandler.h needs space for a
|
||||
MPI_File_errhandler_fn. While it could just be removed, this
|
||||
allows us to maintain a stable ABI within OMPI, at least for
|
||||
apps that don't use MPI I/O. */
|
||||
typedef void (ompi_file_errhandler_fn)(MPI_File *, int *, ...);
|
||||
typedef ompi_file_errhandler_fn MPI_File_errhandler_fn;
|
||||
typedef ompi_file_errhandler_fn MPI_File_errhandler_fn
|
||||
__mpi_interface_deprecated__("MPI_File_errhandler_fn was deprecated in MPI-2.2; use MPI_File_errhandler_function instead");
|
||||
typedef ompi_file_errhandler_fn MPI_File_errhandler_function;
|
||||
#else
|
||||
struct ompi_file_t;
|
||||
typedef void (ompi_file_errhandler_fn)(struct ompi_file_t**, int *, ...);
|
||||
#endif
|
||||
typedef void (MPI_Win_errhandler_fn)(MPI_Win *, int *, ...);
|
||||
typedef void (MPI_Win_errhandler_function)(MPI_Win *, int *, ...);
|
||||
typedef MPI_Win_errhandler_function MPI_Win_errhandler_fn
|
||||
__mpi_interface_deprecated__("MPI_Win_errhandler_fn was deprecated in MPI-2.2; use MPI_Win_errhandler_function instead");
|
||||
/* MPI_Handler_function is deprecated, but we don't mark it as
|
||||
such because otherwise the MPI_Errhandler_create() declaration
|
||||
would cause a warning to be issued */
|
||||
@ -1020,7 +1027,7 @@ OMPI_DECLSPEC int MPI_Comm_call_errhandler(MPI_Comm comm, int errorcode);
|
||||
OMPI_DECLSPEC int MPI_Comm_compare(MPI_Comm comm1, MPI_Comm comm2, int *result);
|
||||
OMPI_DECLSPEC int MPI_Comm_connect(char *port_name, MPI_Info info, int root,
|
||||
MPI_Comm comm, MPI_Comm *newcomm);
|
||||
OMPI_DECLSPEC int MPI_Comm_create_errhandler(MPI_Comm_errhandler_fn *function,
|
||||
OMPI_DECLSPEC int MPI_Comm_create_errhandler(MPI_Comm_errhandler_function *function,
|
||||
MPI_Errhandler *errhandler);
|
||||
OMPI_DECLSPEC int MPI_Comm_create_keyval(MPI_Comm_copy_attr_function *comm_copy_attr_fn,
|
||||
MPI_Comm_delete_attr_function *comm_delete_attr_fn,
|
||||
@ -1074,7 +1081,7 @@ OMPI_DECLSPEC int MPI_Exscan(void *sendbuf, void *recvbuf, int count,
|
||||
OMPI_DECLSPEC MPI_Fint MPI_File_c2f(MPI_File file);
|
||||
OMPI_DECLSPEC MPI_File MPI_File_f2c(MPI_Fint file);
|
||||
OMPI_DECLSPEC int MPI_File_call_errhandler(MPI_File fh, int errorcode);
|
||||
OMPI_DECLSPEC int MPI_File_create_errhandler(MPI_File_errhandler_fn *function,
|
||||
OMPI_DECLSPEC int MPI_File_create_errhandler(MPI_File_errhandler_function *function,
|
||||
MPI_Errhandler *errhandler);
|
||||
OMPI_DECLSPEC int MPI_File_set_errhandler( MPI_File file, MPI_Errhandler errhandler);
|
||||
OMPI_DECLSPEC int MPI_File_get_errhandler( MPI_File file, MPI_Errhandler *errhandler);
|
||||
@ -1450,7 +1457,7 @@ OMPI_DECLSPEC int MPI_Win_call_errhandler(MPI_Win win, int errorcode);
|
||||
OMPI_DECLSPEC int MPI_Win_complete(MPI_Win win);
|
||||
OMPI_DECLSPEC int MPI_Win_create(void *base, MPI_Aint size, int disp_unit,
|
||||
MPI_Info info, MPI_Comm comm, MPI_Win *win);
|
||||
OMPI_DECLSPEC int MPI_Win_create_errhandler(MPI_Win_errhandler_fn *function,
|
||||
OMPI_DECLSPEC int MPI_Win_create_errhandler(MPI_Win_errhandler_function *function,
|
||||
MPI_Errhandler *errhandler);
|
||||
OMPI_DECLSPEC int MPI_Win_create_keyval(MPI_Win_copy_attr_function *win_copy_attr_fn,
|
||||
MPI_Win_delete_attr_function *win_delete_attr_fn,
|
||||
@ -1545,7 +1552,7 @@ OMPI_DECLSPEC int PMPI_Comm_call_errhandler(MPI_Comm comm, int errorcode);
|
||||
OMPI_DECLSPEC int PMPI_Comm_compare(MPI_Comm comm1, MPI_Comm comm2, int *result);
|
||||
OMPI_DECLSPEC int PMPI_Comm_connect(char *port_name, MPI_Info info, int root,
|
||||
MPI_Comm comm, MPI_Comm *newcomm);
|
||||
OMPI_DECLSPEC int PMPI_Comm_create_errhandler(MPI_Comm_errhandler_fn *function,
|
||||
OMPI_DECLSPEC int PMPI_Comm_create_errhandler(MPI_Comm_errhandler_function *function,
|
||||
MPI_Errhandler *errhandler);
|
||||
OMPI_DECLSPEC int PMPI_Comm_create_keyval(MPI_Comm_copy_attr_function *comm_copy_attr_fn,
|
||||
MPI_Comm_delete_attr_function *comm_delete_attr_fn,
|
||||
@ -1599,7 +1606,7 @@ OMPI_DECLSPEC int PMPI_Exscan(void *sendbuf, void *recvbuf, int count,
|
||||
OMPI_DECLSPEC MPI_Fint PMPI_File_c2f(MPI_File file);
|
||||
OMPI_DECLSPEC MPI_File PMPI_File_f2c(MPI_Fint file);
|
||||
OMPI_DECLSPEC int PMPI_File_call_errhandler(MPI_File fh, int errorcode);
|
||||
OMPI_DECLSPEC int PMPI_File_create_errhandler(MPI_File_errhandler_fn *function,
|
||||
OMPI_DECLSPEC int PMPI_File_create_errhandler(MPI_File_errhandler_function *function,
|
||||
MPI_Errhandler *errhandler);
|
||||
OMPI_DECLSPEC int PMPI_File_set_errhandler( MPI_File file, MPI_Errhandler errhandler);
|
||||
OMPI_DECLSPEC int PMPI_File_get_errhandler( MPI_File file, MPI_Errhandler *errhandler);
|
||||
@ -1976,7 +1983,7 @@ OMPI_DECLSPEC int PMPI_Win_call_errhandler(MPI_Win win, int errorcode);
|
||||
OMPI_DECLSPEC int PMPI_Win_complete(MPI_Win win);
|
||||
OMPI_DECLSPEC int PMPI_Win_create(void *base, MPI_Aint size, int disp_unit,
|
||||
MPI_Info info, MPI_Comm comm, MPI_Win *win);
|
||||
OMPI_DECLSPEC int PMPI_Win_create_errhandler(MPI_Win_errhandler_fn *function,
|
||||
OMPI_DECLSPEC int PMPI_Win_create_errhandler(MPI_Win_errhandler_function *function,
|
||||
MPI_Errhandler *errhandler);
|
||||
OMPI_DECLSPEC int PMPI_Win_create_keyval(MPI_Win_copy_attr_function *win_copy_attr_fn,
|
||||
MPI_Win_delete_attr_function *win_delete_attr_fn,
|
||||
|
@ -9,7 +9,7 @@
|
||||
* University of Stuttgart. All rights reserved.
|
||||
* Copyright (c) 2004-2005 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2008 Cisco Systems, Inc. All rights reserved.
|
||||
* Copyright (c) 2008-2009 Cisco Systems, Inc. All rights reserved.
|
||||
* $COPYRIGHT$
|
||||
*
|
||||
* Additional copyrights may follow
|
||||
@ -36,7 +36,7 @@
|
||||
static const char FUNC_NAME[] = "MPI_Comm_create_errhandler";
|
||||
|
||||
|
||||
int MPI_Comm_create_errhandler(MPI_Comm_errhandler_fn *function,
|
||||
int MPI_Comm_create_errhandler(MPI_Comm_errhandler_function *function,
|
||||
MPI_Errhandler *errhandler)
|
||||
{
|
||||
int err = MPI_SUCCESS;
|
||||
|
@ -9,7 +9,7 @@
|
||||
* University of Stuttgart. All rights reserved.
|
||||
* Copyright (c) 2004-2005 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2008 Cisco Systems, Inc. All rights reserved.
|
||||
* Copyright (c) 2008-2009 Cisco Systems, Inc. All rights reserved.
|
||||
* $COPYRIGHT$
|
||||
*
|
||||
* Additional copyrights may follow
|
||||
@ -36,7 +36,7 @@
|
||||
static const char FUNC_NAME[] = "MPI_File_create_errhandler";
|
||||
|
||||
|
||||
int MPI_File_create_errhandler(MPI_File_errhandler_fn *function,
|
||||
int MPI_File_create_errhandler(MPI_File_errhandler_function *function,
|
||||
MPI_Errhandler *errhandler) {
|
||||
int err = MPI_SUCCESS;
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
* University of Stuttgart. All rights reserved.
|
||||
* Copyright (c) 2004-2005 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2008 Cisco Systems, Inc. All rights reserved.
|
||||
* Copyright (c) 2008-2009 Cisco Systems, Inc. All rights reserved.
|
||||
* $COPYRIGHT$
|
||||
*
|
||||
* Additional copyrights may follow
|
||||
@ -36,7 +36,7 @@
|
||||
static const char FUNC_NAME[] = "MPI_Win_create_errhandler";
|
||||
|
||||
|
||||
int MPI_Win_create_errhandler(MPI_Win_errhandler_fn *function,
|
||||
int MPI_Win_create_errhandler(MPI_Win_errhandler_function *function,
|
||||
MPI_Errhandler *errhandler)
|
||||
{
|
||||
int err = MPI_SUCCESS;
|
||||
|
@ -10,7 +10,7 @@
|
||||
// University of Stuttgart. All rights reserved.
|
||||
// Copyright (c) 2004-2005 The Regents of the University of California.
|
||||
// All rights reserved.
|
||||
// Copyright (c) 2006-2008 Cisco Systems, Inc. All rights reserved.
|
||||
// Copyright (c) 2006-2009 Cisco Systems, Inc. All rights reserved.
|
||||
// $COPYRIGHT$
|
||||
//
|
||||
// Additional copyrights may follow
|
||||
@ -96,7 +96,9 @@ protected:
|
||||
class Comm : public Comm_Null {
|
||||
public:
|
||||
|
||||
typedef void Errhandler_fn(Comm&, int*, ...);
|
||||
typedef void Errhandler_function(Comm&, int*, ...);
|
||||
typedef Errhandler_function Errhandler_fn
|
||||
__mpi_interface_deprecated__("MPI::Comm::Errhandler_fn was deprecated in MPI-2.2; use MPI::Comm::Errhandler_function instead");
|
||||
typedef int Copy_attr_function(const Comm& oldcomm, int comm_keyval,
|
||||
void* extra_state, void* attribute_val_in,
|
||||
void* attribute_val_out,
|
||||
@ -105,7 +107,7 @@ public:
|
||||
void* attribute_val,
|
||||
void* extra_state);
|
||||
#if !0 /* OMPI_ENABLE_MPI_PROFILING */
|
||||
#define _MPI2CPP_ERRHANDLERFN_ Errhandler_fn
|
||||
#define _MPI2CPP_ERRHANDLERFN_ Errhandler_function
|
||||
#define _MPI2CPP_COPYATTRFN_ Copy_attr_function
|
||||
#define _MPI2CPP_DELETEATTRFN_ Delete_attr_function
|
||||
#endif
|
||||
@ -380,7 +382,7 @@ public:
|
||||
// Errhandler
|
||||
//
|
||||
|
||||
static Errhandler Create_errhandler(Comm::Errhandler_fn* function);
|
||||
static Errhandler Create_errhandler(Comm::Errhandler_function* function);
|
||||
|
||||
virtual void Set_errhandler(const Errhandler& errhandler) const;
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
//
|
||||
// Copyright (c) 2006 Los Alamos National Security, LLC. All rights
|
||||
// reserved.
|
||||
// Copyright (c) 2007-2008 Cisco Systems, Inc. All rights reserved.
|
||||
// Copyright (c) 2007-2009 Cisco Systems, Inc. All rights reserved.
|
||||
// $COPYRIGHT$
|
||||
//
|
||||
// Additional copyrights may follow
|
||||
@ -29,7 +29,7 @@ MPI::File::Close()
|
||||
|
||||
|
||||
MPI::Errhandler
|
||||
MPI::File::Create_errhandler(MPI::File::Errhandler_fn* function)
|
||||
MPI::File::Create_errhandler(MPI::File::Errhandler_function* function)
|
||||
{
|
||||
MPI_Errhandler c_errhandler =
|
||||
ompi_errhandler_create(OMPI_ERRHANDLER_TYPE_FILE,
|
||||
|
@ -10,7 +10,7 @@
|
||||
// University of Stuttgart. All rights reserved.
|
||||
// Copyright (c) 2004-2005 The Regents of the University of California.
|
||||
// All rights reserved.
|
||||
// Copyright (c) 2006-2008 Cisco Systems, Inc. All rights reserved.
|
||||
// Copyright (c) 2006-2009 Cisco Systems, Inc. All rights reserved.
|
||||
// $COPYRIGHT$
|
||||
//
|
||||
// Additional copyrights may follow
|
||||
@ -293,9 +293,11 @@ public:
|
||||
//
|
||||
// Errhandler
|
||||
//
|
||||
typedef void Errhandler_fn(MPI::File &, int *, ... );
|
||||
typedef void Errhandler_function(MPI::File &, int *, ... );
|
||||
typedef Errhandler_function Errhandler_fn
|
||||
__mpi_interface_deprecated__("MPI::File::Errhandler_fn was deprecated in MPI-2.2; use MPI::File::Errhandler_function instead");
|
||||
|
||||
static MPI::Errhandler Create_errhandler(Errhandler_fn* function);
|
||||
static MPI::Errhandler Create_errhandler(Errhandler_function* function);
|
||||
|
||||
MPI::Errhandler Get_errhandler() const;
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
// University of Stuttgart. All rights reserved.
|
||||
// Copyright (c) 2004-2005 The Regents of the University of California.
|
||||
// All rights reserved.
|
||||
// Copyright (c) 2006-2008 Cisco Systems, Inc. All rights reserved.
|
||||
// Copyright (c) 2006-2009 Cisco Systems, Inc. All rights reserved.
|
||||
// Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved.
|
||||
// $COPYRIGHT$
|
||||
//
|
||||
@ -101,8 +101,8 @@ void ompi_mpi_cxx_comm_errhandler_invoke(ompi_errhandler_t *c_errhandler,
|
||||
// those. So fake it by instantiating an MPI::Intracomm and then
|
||||
// casting it down to an (MPI::Comm&) when invoking the callback.
|
||||
MPI::Intracomm cxx_comm(*c_comm);
|
||||
MPI::Comm::Errhandler_fn *cxx_fn =
|
||||
(MPI::Comm::Errhandler_fn*) c_errhandler->eh_comm_fn;
|
||||
MPI::Comm::Errhandler_function *cxx_fn =
|
||||
(MPI::Comm::Errhandler_function*) c_errhandler->eh_comm_fn;
|
||||
|
||||
cxx_fn((MPI::Comm&) cxx_comm, err, message);
|
||||
}
|
||||
@ -117,8 +117,8 @@ void ompi_mpi_cxx_file_errhandler_invoke(ompi_errhandler_t *c_errhandler,
|
||||
const char *message)
|
||||
{
|
||||
MPI::File cxx_file(*c_file);
|
||||
MPI::File::Errhandler_fn *cxx_fn =
|
||||
(MPI::File::Errhandler_fn*) c_errhandler->eh_file_fn;
|
||||
MPI::File::Errhandler_function *cxx_fn =
|
||||
(MPI::File::Errhandler_function*) c_errhandler->eh_file_fn;
|
||||
|
||||
cxx_fn(cxx_file, err, message);
|
||||
}
|
||||
@ -133,8 +133,8 @@ void ompi_mpi_cxx_win_errhandler_invoke(ompi_errhandler_t *c_errhandler,
|
||||
const char *message)
|
||||
{
|
||||
MPI::Win cxx_win(*c_win);
|
||||
MPI::Win::Errhandler_fn *cxx_fn =
|
||||
(MPI::Win::Errhandler_fn*) c_errhandler->eh_win_fn;
|
||||
MPI::Win::Errhandler_function *cxx_fn =
|
||||
(MPI::Win::Errhandler_function*) c_errhandler->eh_win_fn;
|
||||
|
||||
cxx_fn(cxx_win, err, message);
|
||||
}
|
||||
|
@ -3,7 +3,7 @@
|
||||
// Copyright (c) 2006 Los Alamos National Security, LLC. All rights
|
||||
// reserved.
|
||||
// Copyright (c) 2007-2008 Sun Microsystems, Inc. All rights reserved.
|
||||
// Copyright (c) 2007-2008 Cisco Systems, Inc. All rights reserved.
|
||||
// Copyright (c) 2007-2009 Cisco Systems, Inc. All rights reserved.
|
||||
// $COPYRIGHT$
|
||||
//
|
||||
// Additional copyrights may follow
|
||||
@ -29,7 +29,7 @@ MPI::Win::Free()
|
||||
|
||||
// This function needs some internal OMPI types, so it's not inlined
|
||||
MPI::Errhandler
|
||||
MPI::Win::Create_errhandler(MPI::Win::Errhandler_fn* function)
|
||||
MPI::Win::Create_errhandler(MPI::Win::Errhandler_function* function)
|
||||
{
|
||||
MPI_Errhandler c_errhandler =
|
||||
ompi_errhandler_create(OMPI_ERRHANDLER_TYPE_WIN,
|
||||
|
@ -10,7 +10,7 @@
|
||||
// University of Stuttgart. All rights reserved.
|
||||
// Copyright (c) 2004-2005 The Regents of the University of California.
|
||||
// All rights reserved.
|
||||
// Copyright (c) 2006-2008 Cisco Systems, Inc. All rights reserved.
|
||||
// Copyright (c) 2006-2009 Cisco Systems, Inc. All rights reserved.
|
||||
// Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved.
|
||||
// $COPYRIGHT$
|
||||
//
|
||||
@ -85,12 +85,14 @@ public:
|
||||
typedef int Delete_attr_function(Win& win, int win_keyval,
|
||||
void* attribute_val, void* extra_state);
|
||||
|
||||
typedef void Errhandler_fn(Win &, int *, ... );
|
||||
typedef void Errhandler_function(Win &, int *, ... );
|
||||
typedef Errhandler_function Errhandler_fn
|
||||
__mpi_interface_deprecated__("MPI::Win::Errhandler_fn was deprecated in MPI-2.2; use MPI::Win::Errhandler_function instead");
|
||||
|
||||
//
|
||||
// Errhandler
|
||||
//
|
||||
static MPI::Errhandler Create_errhandler(Errhandler_fn* function);
|
||||
static MPI::Errhandler Create_errhandler(Errhandler_function* function);
|
||||
|
||||
virtual void Set_errhandler(const MPI::Errhandler& errhandler) const;
|
||||
|
||||
|
@ -1,3 +1,4 @@
|
||||
.\"Copyright 2009 Cisco Systems, Inc.
|
||||
.\"Copyright 2006-2008 Sun Microsystems, Inc.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Comm_create_errhandler 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
|
||||
@ -9,7 +10,7 @@
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Comm_create_errhandler(MPI_Comm_errhandler_fn \fI*function\fP,
|
||||
int MPI_Comm_create_errhandler(MPI_Comm_errhandler_function \fI*function\fP,
|
||||
MPI_Errhandler *\fIerrhandler\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
@ -23,9 +24,17 @@ MPI_COMM_CREATE_ERRHANDLER(\fIFUNCTION, ERRHANDLER, IERROR\fP)
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
static MPI::Errhandler
|
||||
MPI::Comm::Create_errhandler(MPI::Comm::Errhandler_fn*
|
||||
MPI::Comm::Create_errhandler(MPI::Comm::Errhandler_function*
|
||||
\fIfunction\fP)
|
||||
|
||||
.SH DEPRECATED TYPE NAME NOTE
|
||||
.ft R
|
||||
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).
|
||||
|
||||
.SH INPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
@ -46,10 +55,10 @@ Fortran only: Error status (integer).
|
||||
.ft R
|
||||
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.
|
||||
.sp
|
||||
In C, the user routine should be a function of type MPI_Comm_errhandler_fn, which is defined as
|
||||
In C, the user routine should be a function of type MPI_Comm_errhandler_function, which is defined as
|
||||
.sp
|
||||
.nf
|
||||
typedef void MPI_Comm_errhandler_fn(MPI_Comm *, int *, \&...);
|
||||
typedef void MPI_Comm_errhandler_function(MPI_Comm *, int *, \&...);
|
||||
.fi
|
||||
.sp
|
||||
The first argument is the communicator in use. The second is the error code
|
||||
@ -58,14 +67,14 @@ to be returned by the MPI routine that raised the error. This typedef replaces M
|
||||
In Fortran, the user routine should be of this form:
|
||||
.sp
|
||||
.nf
|
||||
SUBROUTINE COMM_ERRHANDLER_FN(COMM, ERROR_CODE, \&...)
|
||||
SUBROUTINE COMM_ERRHANDLER_FUNCTION(COMM, ERROR_CODE, \&...)
|
||||
INTEGER COMM, ERROR_CODE
|
||||
.fi
|
||||
.sp
|
||||
In C++, the user routine should be of this form:
|
||||
.sp
|
||||
.nf
|
||||
typedef void MPI::Comm::Errhandler_fn(MPI_Comm &, int *, \&...);
|
||||
typedef void MPI::Comm::Errhandler_function(MPI_Comm &, int *, \&...);
|
||||
.fi
|
||||
|
||||
.SH ERRORS
|
||||
|
@ -1,3 +1,4 @@
|
||||
.\"Copyright 2009 Cisco Systems, Inc.
|
||||
.\"Copyright 2006-2008 Sun Microsystems, Inc.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_File_create_errhandler 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
|
||||
@ -9,7 +10,7 @@
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_File_create_errhandler(MPI_File_errhandler_fn \fI*function\fP,
|
||||
int MPI_File_create_errhandler(MPI_File_errhandler_function \fI*function\fP,
|
||||
MPI_Errhandler \fI*errhandler\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
@ -20,11 +21,20 @@ MPI_FILE_CREATE_ERRHANDLER(\fIFUNCTION, ERRHANDLER, IERROR\fP)
|
||||
INTEGER \fIERRHANDLER, IERROR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
static MPI::Errhandler
|
||||
MPI::File::Create_errhandler(MPI::File::Errhandler_fn*
|
||||
MPI::File::Create_errhandler(MPI::File::Errhandler_function*
|
||||
\fIfunction\fP)
|
||||
|
||||
.SH DEPRECATED TYPE NAME NOTE
|
||||
.ft R
|
||||
MPI-2.2 deprecated the MPI_File_errhandler_fn and
|
||||
MPI::file::Errhandler_fn types in favor of
|
||||
MPI_File_errhandler_function and MPI::File::Errhandler_function,
|
||||
respectively. Open MPI supports both names (indeed, the _fn names are
|
||||
typedefs to the _function names).
|
||||
|
||||
.SH INPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
@ -45,10 +55,10 @@ Fortran only: Error status (integer).
|
||||
.ft R
|
||||
Registers the user routine \fIfunction\fP for use as an MPI exception handler. Returns in errhandler a handle to the registered exception handler.
|
||||
.sp
|
||||
In the C language, the user routine \fIfunction\fP should be a C function of type MPI_File_errhandler_fn, which is defined as
|
||||
In the C language, the user routine \fIfunction\fP should be a C function of type MPI_File_errhandler_function, which is defined as
|
||||
.sp
|
||||
.nf
|
||||
typedef void (MPI_File_errhandler_fn)(MPI_File *, int *,
|
||||
typedef void (MPI_File_errhandler_function)(MPI_File *, int *,
|
||||
\&...);
|
||||
.fi
|
||||
.sp
|
||||
@ -58,14 +68,14 @@ to be returned by the MPI routine that raised the error.
|
||||
In the Fortran language, the user routine should be of the form:
|
||||
.sp
|
||||
.nf
|
||||
SUBROUTINE FILE_ERRHANDLER_FN(FILE, ERROR_CODE, ...)
|
||||
SUBROUTINE FILE_ERRHANDLER_FUNCTION(FILE, ERROR_CODE, ...)
|
||||
INTEGER FILE, ERROR_CODE
|
||||
.fi
|
||||
.sp
|
||||
In C++, the user routine \fIfunction\fP should be of the form:
|
||||
.sp
|
||||
.nf
|
||||
typedef void MPI::File::Errhandler_fn(MPI::File &, int *,
|
||||
typedef void MPI::File::Errhandler_function(MPI::File &, int *,
|
||||
...);
|
||||
.fi
|
||||
.sp
|
||||
|
@ -1,3 +1,4 @@
|
||||
.\"Copyright 2009 Cisco Systems, Inc.
|
||||
.\"Copyright 2006-2008 Sun Microsystems, Inc.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Win_create_errhandler 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
|
||||
@ -9,7 +10,7 @@
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Win_create_errhandler(MPI_Win_errhandler_fn *\fIfunction\fP,
|
||||
int MPI_Win_create_errhandler(MPI_Win_errhandler_function *\fIfunction\fP,
|
||||
MPI_Errhandler *\fIerrhandler\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
@ -23,7 +24,15 @@ MPI_WIN_CREATE_ERRHANDLER(\fIFUNCTION, ERRHANDLER, IERROR\fP)
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
static MPI::Errhandler MPI::Win::Create_errhandler(MPI::Win::
|
||||
Errhandler_fn* \fIfunction\fP)
|
||||
errhandler_function* \fIfunction\fP)
|
||||
|
||||
.SH DEPRECATED TYPE NAME NOTE
|
||||
.ft R
|
||||
MPI-2.2 deprecated the MPI_Win_errhandler_fn and
|
||||
MPI::Win::Errhandler_fn types in favor of
|
||||
MPI_Win_errhandler_function and MPI::Win::Errhandler_function,
|
||||
respectively. Open MPI supports both names (indeed, the _fn names are
|
||||
typedefs to the _function names).
|
||||
|
||||
.SH INPUT PARAMETER
|
||||
.ft R
|
||||
@ -42,10 +51,10 @@ Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_Win_create_errhandler should be, in C, a function of type MPI_Win_errhandler_fn, which is defined as
|
||||
MPI_Win_create_errhandler should be, in C, a function of type MPI_Win_errhandler_function, which is defined as
|
||||
.sp
|
||||
.nf
|
||||
typedef void MPI_Win_errhandler_fn(MPI Win *, int *, ...);
|
||||
typedef void MPI_Win_errhandler_function(MPI Win *, int *, ...);
|
||||
.fi
|
||||
.sp
|
||||
The first argument is the window in use, the second is the error code to be returned.
|
||||
@ -53,19 +62,19 @@ The first argument is the window in use, the second is the error code to be retu
|
||||
In Fortran, the user routine should be of the form:
|
||||
.sp
|
||||
.nf
|
||||
SUBROUTINE WIN_ERRHANDLER_FN(WIN, ERROR_CODE, ...)
|
||||
SUBROUTINE WIN_ERRHANDLER_FUNCTION(WIN, ERROR_CODE, ...)
|
||||
INTEGER WIN, ERROR_CODE
|
||||
.fi
|
||||
.sp
|
||||
In C++, the user routine should be of the form:
|
||||
.sp
|
||||
.nf
|
||||
typedef void MPI::Win::Errhandler_fn(MPI::Win &, int *, ...);
|
||||
typedef void MPI::Win::errhandler_function(MPI::Win &, int *, ...);
|
||||
.fi
|
||||
|
||||
.SH 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.
|
||||
.sp
|
||||
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.
|
||||
called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Win_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.
|
||||
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user