diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2010-02-18 14:32:44 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2010-02-18 14:32:44 (GMT) |
commit | c35f840bcd7df2510154d40b6135bbe37d6acfb5 (patch) | |
tree | e0181d4a84ea4282d78af08ae8a0cb70e2e2f74d /src/H5F.c | |
parent | 88c692130081999896f690fc2b9b0bf9c3a02d9f (diff) | |
download | hdf5-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.c | 19 |
1 files changed, 4 insertions, 15 deletions
@@ -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) |