summaryrefslogtreecommitdiffstats
path: root/src/H5Glink.c
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2007-04-19 18:43:10 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2007-04-19 18:43:10 (GMT)
commitaa96180fa906767b9fcdb096085148f53b13e5c4 (patch)
tree290289d176d3550f850c225ff75515f22d9b61b7 /src/H5Glink.c
parent1d3bcea76904c11b2646d3fe4537503ee5fe1d10 (diff)
downloadhdf5-aa96180fa906767b9fcdb096085148f53b13e5c4.zip
hdf5-aa96180fa906767b9fcdb096085148f53b13e5c4.tar.gz
hdf5-aa96180fa906767b9fcdb096085148f53b13e5c4.tar.bz2
[svn-r13690] Description:
Fully enable readers/writer locking in metadata cache and correct errors in cache clients which were modifying a cache entry while only holding a read lock on it. Tested on: Mac OS X/32 10.4.9 (amazon) Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2) FreeBSD/32 6.2 (duty) FreeBSD/64 6.2 (liberty)
Diffstat (limited to 'src/H5Glink.c')
-rw-r--r--src/H5Glink.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/H5Glink.c b/src/H5Glink.c
index 8eb4329..d63a7ad 100644
--- a/src/H5Glink.c
+++ b/src/H5Glink.c
@@ -247,7 +247,7 @@ H5G_ent_to_link(H5F_t *f, hid_t dxpl_id, H5O_link_t *lnk, haddr_t lheap_addr,
/* Check if the heap pointer was passed in */
if(!heap) {
/* Lock the local heap */
- if(NULL == (heap = H5HL_protect(f, dxpl_id, lheap_addr)))
+ if(NULL == (heap = H5HL_protect(f, dxpl_id, lheap_addr, H5AC_READ)))
HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "unable to protect local heap")
} /* end if */
@@ -314,7 +314,7 @@ H5G_ent_to_info(H5F_t *f, hid_t dxpl_id, H5L_info_t *info, haddr_t lheap_addr,
H5HL_t *heap; /* Pointer to local heap for group */
/* Lock the local heap */
- if(NULL == (heap = H5HL_protect(f, dxpl_id, lheap_addr)))
+ if(NULL == (heap = H5HL_protect(f, dxpl_id, lheap_addr, H5AC_READ)))
HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "unable to protect local heap")
s = H5HL_offset_into(f, heap, ent->cache.slink.lval_offset);