diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2004-01-31 15:19:48 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2004-01-31 15:19:48 (GMT) |
commit | 10382a1799504c5b2dea4c70881c021d1c0b04d1 (patch) | |
tree | 87b70cd2ab0443565e8d5f13e62e53dcbabb1271 /src/H5FD.c | |
parent | efca86dc64d5b72c75603c93730c4273e6d5335f (diff) | |
download | hdf5-10382a1799504c5b2dea4c70881c021d1c0b04d1.zip hdf5-10382a1799504c5b2dea4c70881c021d1c0b04d1.tar.gz hdf5-10382a1799504c5b2dea4c70881c021d1c0b04d1.tar.bz2 |
[svn-r8134] Purpose:
Code cleanup
Description:
Add destructor to match constructor fr VFLs when they are shut down by the
library.
Solution:
Added H5FD_*_term() routines to "undo" changes made in H5FD_*_init()
routines.
Platforms tested:
IBM p690 (copper)
too minor to require h5committest
Diffstat (limited to 'src/H5FD.c')
-rw-r--r-- | src/H5FD.c | 26 |
1 files changed, 26 insertions, 0 deletions
@@ -156,6 +156,32 @@ H5FD_term_interface(void) if (interface_initialize_g) { if ((n=H5I_nmembers(H5I_VFL))) { H5I_clear_group(H5I_VFL, FALSE); + + /* Reset the VFL drivers, if they've been closed */ + if(H5I_nmembers(H5I_VFL)==0) { + H5FD_sec2_term(); + H5FD_log_term(); + H5FD_stdio_term(); + H5FD_family_term(); +#ifdef H5_HAVE_GASS + H5FD_gass_term(); +#endif +#ifdef H5_HAVE_SRB + H5FD_srb_term(); +#endif + H5FD_core_term(); + H5FD_multi_term(); +#ifdef H5_HAVE_PARALLEL + H5FD_mpio_term(); + H5FD_mpiposix_term(); +#ifdef H5_HAVE_FPHDF5 + H5FD_fphdf5_term(); +#endif /* H5_HAVE_FPHDF5 */ +#endif /* H5_HAVE_PARALLEL */ +#ifdef H5_HAVE_STREAM + H5FD_stream_term(); +#endif + } /* end if */ } else { H5I_destroy_group(H5I_VFL); interface_initialize_g = 0; |