Merge pull request #167 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:eoc_valgrind_bugfix to develop

Applied the evict-on-close "check for file closing" change that was successful for groups to datasets.

* commit '88b6f2e24cafcfaffe7d99ab6c5afc2290ce93b4':
  Added the H5F_CLOSING() check that makes valgrind happy in the evict-on-close code in H5G_close() to H5D_close().
This commit is contained in:
Dana Robinson 2016-11-22 08:54:47 -06:00
commit fff898558e

View File

@ -1919,7 +1919,7 @@ H5D_close(H5D_t *dataset)
HGOTO_ERROR(H5E_DATASET, H5E_CLOSEERROR, FAIL, "unable to release object header")
/* Evict dataset metadata if evicting on close */
if(H5F_SHARED(dataset->oloc.file) && H5F_EVICT_ON_CLOSE(dataset->oloc.file)) {
if(!H5F_CLOSING(dataset->oloc.file) && H5F_SHARED(dataset->oloc.file) && H5F_EVICT_ON_CLOSE(dataset->oloc.file)) {
if(H5AC_flush_tagged_metadata(dataset->oloc.file, dataset->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(dataset->oloc.file, dataset->oloc.addr, FALSE, H5AC_ind_read_dxpl_id) < 0)