summaryrefslogtreecommitdiffstats
path: root/src/H5Gint.c
diff options
context:
space:
mode:
authorDana Robinson <derobins@hdfgroup.org>2016-11-03 20:17:02 (GMT)
committerDana Robinson <derobins@hdfgroup.org>2016-11-03 20:17:02 (GMT)
commit50c7c5451486518ea8a57fa079db5cb007d159bd (patch)
treec72fac55ef3562cb8578d39dd2b9f4f9b95fa953 /src/H5Gint.c
parentdfa300b41d535b6b1e1117db7fa9f7c0dbda88dc (diff)
parent30f5f7d9f97e7e4e331894c3574cc1b6c4df6d9e (diff)
downloadhdf5-50c7c5451486518ea8a57fa079db5cb007d159bd.zip
hdf5-50c7c5451486518ea8a57fa079db5cb007d159bd.tar.gz
hdf5-50c7c5451486518ea8a57fa079db5cb007d159bd.tar.bz2
Merge pull request #122 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:eoc_groups to develop
Merged EoC for groups. Will expand the tests as discussed in the code review at a later date. * commit '30f5f7d9f97e7e4e331894c3574cc1b6c4df6d9e': Removed commented-out lines that clean up test files. Added a test for old- and new-style groups under evict-on-close. Evict-on-close now works with groups.
Diffstat (limited to 'src/H5Gint.c')
-rw-r--r--src/H5Gint.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/H5Gint.c b/src/H5Gint.c
index a0e06f3..90c011a 100644
--- a/src/H5Gint.c
+++ b/src/H5Gint.c
@@ -501,6 +501,14 @@ H5G_close(H5G_t *grp)
if(H5O_close(&(grp->oloc)) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to close")
+ /* Evict group metadata if evicting on close */
+ if(H5F_SHARED(grp->oloc.file) && H5F_EVICT_ON_CLOSE(grp->oloc.file)) {
+ if(H5AC_flush_tagged_metadata(grp->oloc.file, grp->oloc.addr, H5AC_ind_read_dxpl_id) < 0)
+ HGOTO_ERROR(H5E_CACHE, H5E_CANTFLUSH, FAIL, "unable to flush tagged metadata")
+ if(H5AC_evict_tagged_metadata(grp->oloc.file, grp->oloc.addr, FALSE, H5AC_ind_read_dxpl_id) < 0)
+ HGOTO_ERROR(H5E_CACHE, H5E_CANTFLUSH, FAIL, "unable to evict tagged metadata")
+ } /* end if */
+
/* Free memory */
grp->shared = H5FL_FREE(H5G_shared_t, grp->shared);
} else {