root/ompi/mpi/tool/pvar_handle_free.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. MPI_T_pvar_handle_free

   1 /* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
   2 /*
   3  * Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights
   4  *                         reserved.
   5  * Copyright (c) 2014 Cisco Systems, Inc.  All rights reserved.
   6  * Copyright (c) 2017      IBM Corporation. All rights reserved.
   7  * $COPYRIGHT$
   8  *
   9  * Additional copyrights may follow
  10  *
  11  * $HEADER$
  12  */
  13 
  14 #include "ompi/mpi/tool/mpit-internal.h"
  15 
  16 #if OPAL_HAVE_WEAK_SYMBOLS && OMPI_PROFILING_DEFINES
  17 #pragma weak MPI_T_pvar_handle_free = PMPI_T_pvar_handle_free
  18 #endif
  19 
  20 #if OMPI_PROFILING_DEFINES
  21 #include "ompi/mpi/tool/profile/defines.h"
  22 #endif
  23 
  24 
  25 int MPI_T_pvar_handle_free(MPI_T_pvar_session session, MPI_T_pvar_handle *handle)
  26 {
  27     int ret = MPI_SUCCESS;
  28 
  29     if (!mpit_is_initialized ()) {
  30         return MPI_T_ERR_NOT_INITIALIZED;
  31     }
  32 
  33     ompi_mpit_lock ();
  34 
  35     do {
  36         /* Check that this is a valid handle */
  37         if (MPI_T_PVAR_HANDLE_NULL == *handle ||
  38             MPI_T_PVAR_ALL_HANDLES == *handle) {
  39             /* As of MPI 3.0 MPI_T_PVAR_ALL_HANDLES is not a valid handle for
  40                MPI_T_pvar_handle_free */
  41             ret = MPI_T_ERR_INVALID_HANDLE;
  42             break;
  43         }
  44 
  45         ret = mca_base_pvar_handle_free (*handle);
  46         if (OPAL_SUCCESS != ret) {
  47             ret = MPI_ERR_UNKNOWN;
  48         }
  49 
  50         *handle = MPI_T_PVAR_HANDLE_NULL;
  51     } while (0);
  52 
  53     ompi_mpit_unlock ();
  54 
  55     return ret;
  56 }

/* [<][>][^][v][top][bottom][index][help] */