diff options
author | Dana Robinson <derobins@hdfgroup.org> | 2016-11-26 15:47:32 (GMT) |
---|---|---|
committer | Dana Robinson <derobins@hdfgroup.org> | 2016-11-26 15:47:32 (GMT) |
commit | a8d1aff23568c0f64fa16cfbb37d7741bb922a60 (patch) | |
tree | 153d5a07966aaed7755168df983bb2c3445bb1dd /src/H5Fefc.c | |
parent | 72ecaf0940f8d6df7bedf14376ea3f2224efc0c6 (diff) | |
download | hdf5-a8d1aff23568c0f64fa16cfbb37d7741bb922a60.zip hdf5-a8d1aff23568c0f64fa16cfbb37d7741bb922a60.tar.gz hdf5-a8d1aff23568c0f64fa16cfbb37d7741bb922a60.tar.bz2 |
Tentative fix for valgrind issues related to EoC.
Adds /*out*/ parameters to H5O_close() and H5F_try_close() so
that H5D/G_close() will know when H5O_close() has triggered a
file close and thus the file struct is not reliable.
Also removes the H5F_CLOSING() macro and related which were
formerly used to check if the file was closing.
Diffstat (limited to 'src/H5Fefc.c')
-rw-r--r-- | src/H5Fefc.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/H5Fefc.c b/src/H5Fefc.c index 5e3deb1..42bf5d8 100644 --- a/src/H5Fefc.c +++ b/src/H5Fefc.c @@ -301,7 +301,7 @@ done: if(ent) { if(open_file) { ent->file->nopen_objs--; - if(H5F_try_close(ent->file) < 0) + if(H5F_try_close(ent->file, NULL) < 0) HDONE_ERROR(H5E_FILE, H5E_CANTCLOSEFILE, NULL, "can't close external file") } /* end if */ ent->name = (char *)H5MM_xfree(ent->name); @@ -350,7 +350,7 @@ H5F_efc_close(H5F_t *parent, H5F_t *file) * on the state of the efc. */ if(!efc) { file->nopen_objs--; - if(H5F_try_close(file) < 0) + if(H5F_try_close(file, NULL) < 0) HGOTO_ERROR(H5E_FILE, H5E_CANTCLOSEFILE, FAIL, "can't close external file") HGOTO_DONE(SUCCEED) @@ -364,7 +364,7 @@ H5F_efc_close(H5F_t *parent, H5F_t *file) for(ent = efc->LRU_head; ent && ent->file != file; ent = ent->LRU_next); if(!ent) { file->nopen_objs--; - if(H5F_try_close(file) < 0) + if(H5F_try_close(file, NULL) < 0) HGOTO_ERROR(H5E_FILE, H5E_CANTCLOSEFILE, FAIL, "can't close external file") } /* end if */ else @@ -572,7 +572,7 @@ H5F_efc_remove_ent(H5F_efc_t *efc, H5F_efc_ent_t *ent) * However we must still manipulate the nopen_objs field to prevent the file * from being closed out from under us. */ ent->file->nopen_objs--; - if(H5F_try_close(ent->file) < 0) + if(H5F_try_close(ent->file, NULL) < 0) HGOTO_ERROR(H5E_FILE, H5E_CANTCLOSEFILE, FAIL, "can't close external file") ent->file = NULL; |