summaryrefslogtreecommitdiffstats
path: root/src/H5Fprivate.h
diff options
context:
space:
mode:
authorDana Robinson <derobins@hdfgroup.org>2016-11-20 16:57:46 (GMT)
committerDana Robinson <derobins@hdfgroup.org>2016-11-20 16:57:46 (GMT)
commit4e7b19f8260a7adb0e3b3df30e2d8289fccdcca6 (patch)
treea8527d110745f16d07ef1fd8a29e8eea84ed57e5 /src/H5Fprivate.h
parente10c0e7894699a4113074cd3e9212bafe56a5b40 (diff)
downloadhdf5-4e7b19f8260a7adb0e3b3df30e2d8289fccdcca6.zip
hdf5-4e7b19f8260a7adb0e3b3df30e2d8289fccdcca6.tar.gz
hdf5-4e7b19f8260a7adb0e3b3df30e2d8289fccdcca6.tar.bz2
Two minor cache changes:
* Evict-on-close behavior is now skipped when the file is closing. This fixes a potential issue discovered by Valgind on Windows where potentially garbage data would be availble for manipulation. * Added brackets to some code in the tagged entry evict iterators so that the flag that determines if progress was made only gets set if things are actually evicted. This prevents an infinite loop (and emits an error) when pinned entries prevent eviction and thus progress.
Diffstat (limited to 'src/H5Fprivate.h')
-rw-r--r--src/H5Fprivate.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/H5Fprivate.h b/src/H5Fprivate.h
index 35c7b5a..fdf82ed 100644
--- a/src/H5Fprivate.h
+++ b/src/H5Fprivate.h
@@ -304,6 +304,7 @@
#define H5F_FCPL(F) ((F)->shared->fcpl_id)
#define H5F_GET_FC_DEGREE(F) ((F)->shared->fc_degree)
#define H5F_EVICT_ON_CLOSE(F) ((F)->shared->evict_on_close)
+#define H5F_CLOSING(F) ((F)->closing)
#define H5F_RDCC_NSLOTS(F) ((F)->shared->rdcc_nslots)
#define H5F_RDCC_NBYTES(F) ((F)->shared->rdcc_nbytes)
#define H5F_RDCC_W0(F) ((F)->shared->rdcc_w0)
@@ -353,6 +354,7 @@
#define H5F_FCPL(F) (H5F_get_fcpl(F))
#define H5F_GET_FC_DEGREE(F) (H5F_get_fc_degree(F))
#define H5F_EVICT_ON_CLOSE(F) (H5F_get_evict_on_close(F))
+#define H5F_CLOSING(F) (H5F_get_closing(F))
#define H5F_RDCC_NSLOTS(F) (H5F_rdcc_nslots(F))
#define H5F_RDCC_NBYTES(F) (H5F_rdcc_nbytes(F))
#define H5F_RDCC_W0(F) (H5F_rdcc_w0(F))
@@ -673,6 +675,7 @@ H5_DLL herr_t H5F_set_sohm_nindexes(H5F_t *f, unsigned nindexes);
H5_DLL hid_t H5F_get_fcpl(const H5F_t *f);
H5_DLL H5F_close_degree_t H5F_get_fc_degree(const H5F_t *f);
H5_DLL hbool_t H5F_get_evict_on_close(const H5F_t *f);
+H5_DLL hbool_t H5F_get_closing(const H5F_t *f);
H5_DLL size_t H5F_rdcc_nbytes(const H5F_t *f);
H5_DLL size_t H5F_rdcc_nslots(const H5F_t *f);
H5_DLL double H5F_rdcc_w0(const H5F_t *f);