diff options
author | Robb Matzke <matzke@llnl.gov> | 1997-08-05 02:07:08 (GMT) |
---|---|---|
committer | Robb Matzke <matzke@llnl.gov> | 1997-08-05 02:07:08 (GMT) |
commit | e251f45b8741c7e7bf2dbd4d76a76d67dbfc6da1 (patch) | |
tree | 99ce978bac2ceec3646a60753b437d874a92de29 /src/H5.c | |
parent | 6a3cb617d3aa57f439065118fbc68afcb1465a54 (diff) | |
download | hdf5-e251f45b8741c7e7bf2dbd4d76a76d67dbfc6da1.zip hdf5-e251f45b8741c7e7bf2dbd4d76a76d67dbfc6da1.tar.gz hdf5-e251f45b8741c7e7bf2dbd4d76a76d67dbfc6da1.tar.bz2 |
[svn-r13] ./src/H5.c
Added an `_g' to the end of library_initialize,
thread_initialize, and interface_initialize to abide by the
naming convention. Removed setting of these variables from
the various initialization functions since it happens in the
FUNC_ENTER() macro now.
Defined PABLO_MASK.
Removed `CONSTR(FUNC,"function_name")' everywhere since it's
handled by the various FUNC_ENTER macros.
Fixed calls to FUNC_ENTER(), FUNC_LEAVE(), and HRETURN_ERROR()
so they don't need so many arguments.
Changed PABLO_TRACE_ON() to FUNC_ENTER() since there is no
longer any danger of infinite recursion.
H5_term_library() now returns SUCCEED/FAIL and uses
FUNC_ENTER/FUNC_EXIT macros.
./src/H5A.c
Changes similar to H5.c.
Most (all?) of the functions called PABLO_TRACE_ON() and the
package doesn't have an interface initializer that I can see,
so the second argument to FUNC_ENTER() is always NULL.
H5A_release_atom_node() returns SUCCEED/FAIL.
./src/H5AC.c
Added error handling.
Arguments for internal functions are checked with assert().
./src/H5C.c
Changes similar to H5.c
Fixed the FUNC variable in H5C_get_default_atom() since it was
initialized to the wrong name.
./src/H5D.c
Changes similar to H5.c
./src/H5E.c
Changes similar to H5.c
Changed the pablo mask from H5_mask to H5E_mask in
H5E_init_interface().
H5Eclear(), H5E_store(), and H5Epush() return SUCCEED/FAIL.
Changed PABLO_TRACE_OFF() calls to FUNC_LEAVE() calls in the
same functions.
./src/H5Eprivate.h
./src/H5Eproto.h
Added additional error symbols for the H5AC package.
Changed prototypes for H5Eclear() and H5Epush().
Changes to HRETURN_ERROR() and HGOTO_ERROR() to reduce the
number of arguments.
./src/H5F.c
Changes similr to H5.c
Changed the pablo mask from H5_mask to H5F_mask for the
FUNC_LEAVE() call of H5F_init_interface().
Added FUNC_ENTER() and FUNC_LEAVE() calls to some functions
that didn't have them.
./src/H5M.c
Changes similar to H5.c
Fixed the FUNC variable in H5M_init_interface() since it was
initialized to the wrong name.
./src/H5P.c
Changes similar to H5.c
./src/H5T.c
Changes similar to H5.c
./src/hdf5gen.c
Changes to FUNC_ENTER() and FUNC_EXIT() to reduce the number
of arguments. FUNC_ENTER() is now safe from infinite
recursion since it updates the library_initialize_g,
thread_initialize_g, or interface_initialize_g variables
before calling the appropriate initialize function.
Diffstat (limited to 'src/H5.c')
-rw-r--r-- | src/H5.c | 86 |
1 files changed, 18 insertions, 68 deletions
@@ -44,10 +44,12 @@ static char RcsId[] = "@(#)$Revision$"; #include "H5Bprivate.h" /*B-link trees */ #include "H5private.h" /* Generic info */ +#define PABLO_MASK H5_mask + /*--------------------- Locally scoped variables -----------------------------*/ /* Whether we've installed the library termination function yet for this interface */ -static intn interface_initialize = FALSE; +static intn interface_initialize_g = FALSE; /*------------------_-- Local function prototypes ----------------------------*/ static herr_t H5_init_interface(void); @@ -66,27 +68,14 @@ DESCRIPTION --------------------------------------------------------------------------*/ herr_t H5_init_library(void) { - CONSTR(FUNC, "H5_init_library"); /* For HERROR */ - herr_t ret_value = SUCCEED; - - /* Don't use "FUNC_ENTER" macro, to avoid potential infinite recursion */ - PABLO_TRACE_ON(H5_mask, ID_H5_init_library); - - /* Don't call this routine again... */ - library_initialize = TRUE; + FUNC_ENTER (H5_init_library, NULL, FAIL); /* Install atexit() library cleanup routine */ if(install_atexit==TRUE) if (HDatexit(&H5_term_library) != 0) - HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, FAIL); - -done: - if(ret_value == FAIL) - { /* Error condition cleanup */ - - } /* end if */ + HRETURN_ERROR(H5E_FUNC, H5E_CANTINIT, FAIL); - FUNC_LEAVE(H5_mask, ID_H5_init_library,ret_value); + FUNC_LEAVE (SUCCEED); } /* H5_init_library */ /*-------------------------------------------------------------------------- @@ -97,7 +86,7 @@ done: USAGE void HPend() RETURNS - none + SUCCEED/FAIL DESCRIPTION Walk through the shutdown routines for the various interfaces and terminate them all. @@ -107,12 +96,9 @@ done: EXAMPLES REVISION LOG --------------------------------------------------------------------------*/ -void H5_term_library(void) +void +H5_term_library (void) { -#ifdef LATER - CONSTR(FUNC, "H5_term_library"); /* for HERROR */ -#endif /* LATER */ - } /* end H5_term_library() */ /*-------------------------------------------------------------------------- @@ -129,23 +115,13 @@ DESCRIPTION --------------------------------------------------------------------------*/ herr_t H5_init_thread(void) { -#ifdef LATER - CONSTR(FUNC, "H5_init_thread"); /* For HERROR */ -#endif /* LATER */ - herr_t ret_value = SUCCEED; - - /* Don't use "FUNC_ENTER" macro, to avoid potential infinite recursion */ - PABLO_TRACE_ON(H5_mask, ID_H5_init_thread); - - /* Don't call this routine again... */ - thread_initialize = TRUE; - + FUNC_ENTER (H5_init_thread, NULL, FAIL); /* Create/initialize this thread's error stack */ if((thrderrid=H5Enew_err_stack(16))==FAIL) - ret_value=FAIL; + HRETURN_ERROR (H5E_FUNC, H5E_CANTINIT, FAIL); - FUNC_LEAVE(H5_mask, ID_H5_init_thread, ret_value); + FUNC_LEAVE (SUCCEED); } /* H5_init_thread */ /*-------------------------------------------------------------------------- @@ -162,18 +138,9 @@ DESCRIPTION --------------------------------------------------------------------------*/ static herr_t H5_init_interface(void) { -#ifdef LATER - CONSTR(FUNC, "H5_init_interface"); /* For HERROR */ -#endif /* LATER */ - herr_t ret_value = SUCCEED; - - /* Don't use "FUNC_ENTER" macro, to avoid potential infinite recursion */ - PABLO_TRACE_ON(H5_mask, ID_H5_init_interface); - - /* Don't call this routine again... */ - interface_initialize = TRUE; + FUNC_ENTER (H5_init_interface, NULL, FAIL); - FUNC_LEAVE(H5_mask, ID_H5_init_interface, ret_value); + FUNC_LEAVE (SUCCEED); } /* H5_init_interface */ /*-------------------------------------------------------------------------- @@ -204,28 +171,12 @@ static herr_t H5_init_interface(void) --------------------------------------------------------------------------*/ herr_t H5dont_atexit(void) { -#ifdef LATER - CONSTR(FUNC, "H5dont_atexit"); /* for HERROR */ -#endif /* LATER */ - intn ret_value = SUCCEED; - - /* Don't use "FUNC_ENTER" macro, we are trying to avoid certain initialization code */ - PABLO_TRACE_ON(H5_mask, ID_H5dont_atexit); + FUNC_ENTER (H5dont_atexit, NULL, FAIL); if(install_atexit == TRUE) install_atexit=FALSE; -#ifdef LATER -done: - if(ret_value == FAIL) - { /* Error condition cleanup */ - - } /* end if */ -#endif /* LATER */ - - /* Normal function cleanup */ - - FUNC_LEAVE(H5_mask, ID_H5dont_atexit,ret_value); + FUNC_LEAVE (SUCCEED); } /* end H5dont_atexit() */ /*-------------------------------------------------------------------------- @@ -246,10 +197,9 @@ DESCRIPTION --------------------------------------------------------------------------*/ herr_t H5version(uintn *majnum, uintn *minnum, uintn *relnum, uintn *patnum) { - CONSTR(FUNC, "H5version"); /* For HERROR */ herr_t ret_value = SUCCEED; - FUNC_ENTER(H5_mask, ID_H5version, H5_init_interface,FAIL); + FUNC_ENTER(H5version, H5_init_interface, FAIL); /* Clear errors and check args and all the boring stuff. */ H5ECLEAR; @@ -270,6 +220,6 @@ done: /* Normal function cleanup */ - FUNC_LEAVE(H5_mask, ID_H5version, ret_value); + FUNC_LEAVE(ret_value); } /* H5version */ |