diff options
author | Bill Wendling <wendling@ncsa.uiuc.edu> | 2003-09-10 20:06:10 (GMT) |
---|---|---|
committer | Bill Wendling <wendling@ncsa.uiuc.edu> | 2003-09-10 20:06:10 (GMT) |
commit | 1f5e8c2e63a4f3cf34d8f187adc24133caa2d25d (patch) | |
tree | f9a33f8b46169840102c80b62a53361ee5ce71d0 /src/H5ACprivate.h | |
parent | 6a9188f0cb0ab63e858fee73c5261bbab4376c47 (diff) | |
download | hdf5-1f5e8c2e63a4f3cf34d8f187adc24133caa2d25d.zip hdf5-1f5e8c2e63a4f3cf34d8f187adc24133caa2d25d.tar.gz hdf5-1f5e8c2e63a4f3cf34d8f187adc24133caa2d25d.tar.bz2 |
[svn-r7460] Purpose:
Update
Description:
Added extra parameter to the H5AC_protect() function that indicates
if the cache being asked for is going to be written to or just read
from. Those AC_protect calls that were H5AC_find calls are now
read-only. The rest are writes.
Platforms tested:
Linux (h5committest not needed due to size and small impact)
Misc. update:
Diffstat (limited to 'src/H5ACprivate.h')
-rw-r--r-- | src/H5ACprivate.h | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/src/H5ACprivate.h b/src/H5ACprivate.h index 79fd4e8..f05a32c 100644 --- a/src/H5ACprivate.h +++ b/src/H5ACprivate.h @@ -87,6 +87,19 @@ typedef struct H5AC_class_t { H5AC_clear_func_t clear; } H5AC_class_t; +/*===----------------------------------------------------------------------=== + * Protect Types + *===----------------------------------------------------------------------=== + * + * These are for the wrapper functions to H5AC_protect. They specify what + * type of operation you're planning on doing to the metadata. The + * Flexible Parallel HDF5 locking can then act accordingly. + */ +typedef enum H5AC_protect_t { + H5AC_WRITE, /* Protect object for writing */ + H5AC_READ /* Protect object for reading */ +} H5AC_protect_t; + /* * A cache has a certain number of entries. Objects are mapped into a * cache entry by hashing the object's file address. Each file has its @@ -135,10 +148,11 @@ H5_DLL herr_t H5AC_init(void); H5_DLL herr_t H5AC_create(const H5F_t *f, int size_hint); H5_DLL herr_t H5AC_set(H5F_t *f, hid_t dxpl_id, const H5AC_class_t *type, haddr_t addr, void *thing); -H5_DLL void *H5AC_protect(H5F_t *f, hid_t dxpl_id, const H5AC_class_t *type, haddr_t addr, - const void *udata1, void *udata2); +H5_DLL void *H5AC_protect(H5F_t *f, hid_t dxpl_id, const H5AC_class_t *type, + haddr_t addr, const void *udata1, void *udata2, + H5AC_protect_t rw); H5_DLL herr_t H5AC_unprotect(H5F_t *f, hid_t dxpl_id, const H5AC_class_t *type, haddr_t addr, - void *thing, hbool_t deleted); + void *thing, hbool_t deleted); H5_DLL herr_t H5AC_flush(H5F_t *f, hid_t dxpl_id, const H5AC_class_t *type, haddr_t addr, unsigned flags); H5_DLL herr_t H5AC_rename(H5F_t *f, hid_t dxpl_id, const H5AC_class_t *type, |