diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 1997-09-18 21:06:11 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 1997-09-18 21:06:11 (GMT) |
commit | ef8604f3484a1547222ad73474e74788497d9079 (patch) | |
tree | af634636415858cb06d3b9f7981a54e1b0887eb2 /src/H5C.c | |
parent | ac0b9746301f65396ecada7704cc836d2a69c30c (diff) | |
download | hdf5-ef8604f3484a1547222ad73474e74788497d9079.zip hdf5-ef8604f3484a1547222ad73474e74788497d9079.tar.gz hdf5-ef8604f3484a1547222ad73474e74788497d9079.tar.bz2 |
[svn-r96] Added "atexit" routines to each interface to free buffers allocated during
runtime. Isolated but can't figure out how to fix bug reported with purify.
Diffstat (limited to 'src/H5C.c')
-rw-r--r-- | src/H5C.c | 26 |
1 files changed, 25 insertions, 1 deletions
@@ -83,13 +83,37 @@ static herr_t H5C_init_interface(void) FUNC_ENTER (H5C_init_interface, NULL, FAIL); /* Initialize the atom group for the file IDs */ - ret_value=H5Ainit_group(H5_TEMPLATE,H5A_TEMPID_HASHSIZE,0); + if((ret_value=H5Ainit_group(H5_TEMPLATE,H5A_TEMPID_HASHSIZE,0))!=FAIL) + ret_value=H5_add_exit(&H5C_term_interface); FUNC_LEAVE(ret_value); } /* H5C_init_interface */ /*-------------------------------------------------------------------------- NAME + H5C_term_interface + PURPOSE + Terminate various H5C objects + USAGE + void H5C_term_interface() + RETURNS + SUCCEED/FAIL + DESCRIPTION + Release the atom group and any other resources allocated. + GLOBAL VARIABLES + COMMENTS, BUGS, ASSUMPTIONS + Can't report errors... + EXAMPLES + REVISION LOG +--------------------------------------------------------------------------*/ +void H5C_term_interface (void) +{ + H5Aremove_atom(default_file_id); + H5Adestroy_group(H5_TEMPLATE); +} /* end H5C_term_interface() */ + +/*-------------------------------------------------------------------------- + NAME H5C_get_default_atom PURPOSE Retrive an atom for a default HDF5 template. |