summaryrefslogtreecommitdiffstats
path: root/src/H5F.c
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2010-02-18 14:32:44 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2010-02-18 14:32:44 (GMT)
commitc35f840bcd7df2510154d40b6135bbe37d6acfb5 (patch)
treee0181d4a84ea4282d78af08ae8a0cb70e2e2f74d /src/H5F.c
parent88c692130081999896f690fc2b9b0bf9c3a02d9f (diff)
downloadhdf5-c35f840bcd7df2510154d40b6135bbe37d6acfb5.zip
hdf5-c35f840bcd7df2510154d40b6135bbe37d6acfb5.tar.gz
hdf5-c35f840bcd7df2510154d40b6135bbe37d6acfb5.tar.bz2
[svn-r18271] Description:
Clean up the file closing behavior a little more. Tested on: Mac OS X/32 10.6.2 (amazon) w/debug & production (too minor to require h5committest)
Diffstat (limited to 'src/H5F.c')
-rw-r--r--src/H5F.c19
1 files changed, 4 insertions, 15 deletions
diff --git a/src/H5F.c b/src/H5F.c
index 890b2da..8e4a11e 100644
--- a/src/H5F.c
+++ b/src/H5F.c
@@ -978,17 +978,8 @@ H5F_dest(H5F_t *f, hid_t dxpl_id)
HDassert(f->shared);
if(1 == f->shared->nrefs) {
- /* Flush at this point since the file will be closed */
- /* (Only try to flush here if the file structure was successfully
- * initialized (i.e., the file struct is being shutdown in an
- * orderly manner with the 'closing' flag set)
- */
- if(f->closing) {
-#if H5AC_DUMP_STATS_ON_CLOSE
- /* Dump debugging info */
- H5AC_stats(f);
-#endif /* H5AC_DUMP_STATS_ON_CLOSE */
-
+ /* Release objects that depend on the superblock being initialized */
+ if(f->shared->sblock) {
/* Shutdown file free space manager(s) */
/* (We should release the free space information now (before truncating
* the file and before the metadata cache is shut down) since the
@@ -1001,15 +992,13 @@ H5F_dest(H5F_t *f, hid_t dxpl_id)
/* Push error, but keep going*/
HDONE_ERROR(H5E_FILE, H5E_CANTRELEASE, FAIL, "can't release file free space info")
} /* end if */
- } /* end if */
- /* Unpin the superblock, since we're about to destroy the cache */
- if(f->shared->sblock) {
+ /* Unpin the superblock, since we're about to destroy the cache */
if(H5AC_unpin_entry(f->shared->sblock) < 0)
/* Push error, but keep going*/
HDONE_ERROR(H5E_FSPACE, H5E_CANTUNPIN, FAIL, "unable to unpin superblock")
f->shared->sblock = NULL;
- }
+ } /* end if */
/* Remove shared file struct from list of open files */
if(H5F_sfile_remove(f->shared) < 0)