diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2007-04-19 18:43:10 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2007-04-19 18:43:10 (GMT) |
commit | aa96180fa906767b9fcdb096085148f53b13e5c4 (patch) | |
tree | 290289d176d3550f850c225ff75515f22d9b61b7 /src/H5Glink.c | |
parent | 1d3bcea76904c11b2646d3fe4537503ee5fe1d10 (diff) | |
download | hdf5-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.c | 4 |
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); |