1 /*
2  * Copyright (c) 2004-2007 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 (c) 2015      Research Organization for Information Science
13  *                         and Technology (RIST). All rights reserved.
14  * $COPYRIGHT$
15  *
16  * Additional copyrights may follow
17  *
18  * $HEADER$
19  */
20 #include "ompi_config.h"
21 #include <stdio.h>
22 
23 #include "ompi/mpi/c/bindings.h"
24 #include "ompi/runtime/params.h"
25 #include "ompi/communicator/communicator.h"
26 #include "ompi/errhandler/errhandler.h"
27 #include "ompi/attribute/attribute.h"
28 
29 #if OMPI_BUILD_MPI_PROFILING
30 #if OPAL_HAVE_WEAK_SYMBOLS
31 #pragma weak MPI_Comm_free_keyval = PMPI_Comm_free_keyval
32 #endif
33 #define MPI_Comm_free_keyval PMPI_Comm_free_keyval
34 #endif
35 
36 static const char FUNC_NAME[] = "MPI_Comm_free_keyval";
37 
38 
MPI_Comm_free_keyval(int * comm_keyval)39 int MPI_Comm_free_keyval(int *comm_keyval)
40 {
41     int ret;
42 
43     /* Check for valid key pointer */
44 
45     if (MPI_PARAM_CHECK) {
46         OMPI_ERR_INIT_FINALIZE(FUNC_NAME);
47         if (NULL == comm_keyval) {
48             return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_ARG,
49                                           FUNC_NAME);
50         }
51     }
52 
53     OPAL_CR_ENTER_LIBRARY();
54 
55     ret = ompi_attr_free_keyval(COMM_ATTR, comm_keyval, 0);
56 
57     OMPI_ERRHANDLER_RETURN(ret, MPI_COMM_WORLD, MPI_ERR_OTHER, FUNC_NAME);
58 }
59