diff options
author | Mohamad Chaarawi <chaarawi@hdfgroup.org> | 2013-08-30 17:05:42 (GMT) |
---|---|---|
committer | Mohamad Chaarawi <chaarawi@hdfgroup.org> | 2013-08-30 17:05:42 (GMT) |
commit | a3e0aecb2235e487eae80de4dd4c074bd2dabc0f (patch) | |
tree | 78599452e6871eca8e444b5878efc6b9b1076a9b /src/H5RC.c | |
parent | 7a0f38d807b4f8b10608dd0d860b625d98845498 (diff) | |
download | hdf5-a3e0aecb2235e487eae80de4dd4c074bd2dabc0f.zip hdf5-a3e0aecb2235e487eae80de4dd4c074bd2dabc0f.tar.gz hdf5-a3e0aecb2235e487eae80de4dd4c074bd2dabc0f.tar.bz2 |
[svn-r24087] Rename the private H5RC (reference count) module to H5UC (Use Count).
This is needed to avoid a conflict with the Read Context object to be
introduced in another Project.
No impact on users, since this is a private module, and low for
developers as the RC module use is very sparse in the library.
Tested with h5committest.
Diffstat (limited to 'src/H5RC.c')
-rw-r--r-- | src/H5RC.c | 127 |
1 files changed, 0 insertions, 127 deletions
diff --git a/src/H5RC.c b/src/H5RC.c deleted file mode 100644 index 6abe837..0000000 --- a/src/H5RC.c +++ /dev/null @@ -1,127 +0,0 @@ -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Copyright by The HDF Group. * - * Copyright by the Board of Trustees of the University of Illinois. * - * All rights reserved. * - * * - * This file is part of HDF5. The full HDF5 copyright notice, including * - * terms governing use, modification, and redistribution, is contained in * - * the files COPYING and Copyright.html. COPYING can be found at the root * - * of the source code distribution tree; Copyright.html can be found at the * - * root level of an installed copy of the electronic HDF5 document set and * - * is linked from the top-level documents page. It can also be found at * - * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have * - * access to either file, you may request a copy from help@hdfgroup.org. * - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -/* - * Reference counting buffer algorithms. - * - * These are used for various internal buffers which are shared. - * - */ - - -#include "H5Eprivate.h" /* Error handling */ -#include "H5FLprivate.h" /* Free lists */ -#include "H5RCprivate.h" /* Reference-counted buffers */ - -/* Private typedefs & structs */ - -/* Declare a free list to manage the H5RC_t struct */ -H5FL_DEFINE_STATIC(H5RC_t); - - -/*-------------------------------------------------------------------------- - NAME - H5RC_create - PURPOSE - Create a reference counted object - USAGE - H5RC_t *H5RC_create(o,free) - const void *o; IN: Object to initialize ref-counted object with - H5RC_free_func_t free; IN: Function to call when ref-count drop to zero - - RETURNS - Returns a pointer to a new ref-counted object on success, NULL on failure. - DESCRIPTION - Create a reference counted object. The object is not duplicated, it is - assumed to be owned by the reference counted object now and will be freed - with the 'free' function when the reference count drops to zero. - GLOBAL VARIABLES - COMMENTS, BUGS, ASSUMPTIONS - EXAMPLES - REVISION LOG ---------------------------------------------------------------------------*/ -H5RC_t * -H5RC_create(void *o, H5RC_free_func_t free_func) -{ - H5RC_t *ret_value; /* Return value */ - - FUNC_ENTER_NOAPI(NULL) - - /* Sanity check */ - HDassert(o); - HDassert(free_func); - - /* Allocate ref-counted string structure */ - if(NULL == (ret_value = H5FL_MALLOC(H5RC_t))) - HGOTO_ERROR(H5E_RS,H5E_NOSPACE,NULL,"memory allocation failed") - - /* Set the internal fields */ - ret_value->o = o; - ret_value->n = 1; - ret_value->free_func = free_func; - -done: - FUNC_LEAVE_NOAPI(ret_value) -} /* end H5RC_create() */ - - -/*-------------------------------------------------------------------------- - NAME - H5RC_decr - PURPOSE - Decrement the reference count for a ref-counted object - USAGE - herr_t H5RC_decr(rc) - H5RC_t *rc; IN: Ref-counted object to decrement count for - - RETURNS - SUCCEED/FAIL - DESCRIPTION - Decrements the reference count for a ref-counted object, calling the - object's free function if ref-count drops to zero. - GLOBAL VARIABLES - COMMENTS, BUGS, ASSUMPTIONS - EXAMPLES - REVISION LOG ---------------------------------------------------------------------------*/ -herr_t -H5RC_decr(H5RC_t *rc) -{ - herr_t ret_value = SUCCEED; /* Return value */ - - FUNC_ENTER_NOAPI(FAIL) - - /* Sanity check */ - HDassert(rc); - HDassert(rc->o); - HDassert(rc->n > 0); - HDassert(rc->free_func); - - /* Decrement reference count */ - rc->n--; - - /* Check if we should delete this object now */ - if(rc->n == 0) { - if((rc->free_func)(rc->o) < 0) { - rc = H5FL_FREE(H5RC_t, rc); - HGOTO_ERROR(H5E_RS, H5E_CANTFREE, FAIL, "memory release failed") - } /* end if */ - rc = H5FL_FREE(H5RC_t, rc); - } /* end if */ - -done: - FUNC_LEAVE_NOAPI(ret_value) -} /* end H5RC_decr() */ - |