updating repository. Removing .Plo and .Po files that are generated automatically
[openmpi-llc.git] / ompi / mpi / c / win_create_errhandler.c
blobf135ae6a4ae850dfc37561e89f4da3004b94a87c
1 /*
2 * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
3 * University Research and Technology
4 * Corporation. All rights reserved.
5 * Copyright (c) 2004-2005 The University of Tennessee and The University
6 * of Tennessee Research Foundation. All rights
7 * reserved.
8 * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
9 * University of Stuttgart. All rights reserved.
10 * Copyright (c) 2004-2005 The Regents of the University of California.
11 * All rights reserved.
12 * $COPYRIGHT$
14 * Additional copyrights may follow
16 * $HEADER$
18 #include "ompi_config.h"
19 #include <stdio.h>
21 #include "ompi/mpi/c/bindings.h"
22 #include "ompi/win/win.h"
24 #if OMPI_HAVE_WEAK_SYMBOLS && OMPI_PROFILING_DEFINES
25 #pragma weak MPI_Win_create_errhandler = PMPI_Win_create_errhandler
26 #endif
28 #if OMPI_PROFILING_DEFINES
29 #include "ompi/mpi/c/profile/defines.h"
30 #endif
32 static const char FUNC_NAME[] = "MPI_Win_create_errhandler";
35 int MPI_Win_create_errhandler(MPI_Win_errhandler_fn *function,
36 MPI_Errhandler *errhandler)
38 int err = MPI_SUCCESS;
40 if (MPI_PARAM_CHECK) {
41 OMPI_ERR_INIT_FINALIZE(FUNC_NAME);
42 if (NULL == function ||
43 NULL == errhandler) {
44 return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_ARG,
45 FUNC_NAME);
49 /* Create and cache the errhandler. Sets a refcount of 1. */
50 *errhandler =
51 ompi_errhandler_create(OMPI_ERRHANDLER_TYPE_WIN,
52 (ompi_errhandler_generic_handler_fn_t*) function);
53 if (NULL == *errhandler) {
54 err = MPI_ERR_INTERN;
57 OMPI_ERRHANDLER_RETURN(err, MPI_COMM_WORLD, MPI_ERR_INTERN, FUNC_NAME);