summaryrefslogtreecommitdiffstats
path: root/src/H5Gobj.c
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2010-10-13 16:17:52 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2010-10-13 16:17:52 (GMT)
commita294ddffe58114b77b16812c180c62dd453f1407 (patch)
tree2fe3d61e24b39d87cfa3b247582448ee0f318d28 /src/H5Gobj.c
parenta911db88e480efe9f818c0b70fdb8bfade80d417 (diff)
downloadhdf5-a294ddffe58114b77b16812c180c62dd453f1407.zip
hdf5-a294ddffe58114b77b16812c180c62dd453f1407.tar.gz
hdf5-a294ddffe58114b77b16812c180c62dd453f1407.tar.bz2
[svn-r19588] Description:
Bring r19587 from trunk to 1.8 branch: Address issue with object headers being created getting evicted from the metadata cache cache before they are completely initialized. This is done by pinning the object header in the cache until it is completely initialized and attached to a group. Tested on: FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, w/threadsafe, in production mode Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode
Diffstat (limited to 'src/H5Gobj.c')
-rw-r--r--src/H5Gobj.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/H5Gobj.c b/src/H5Gobj.c
index 87afb6b..16b202a 100644
--- a/src/H5Gobj.c
+++ b/src/H5Gobj.c
@@ -159,8 +159,7 @@ H5G_obj_create(H5F_t *f, hid_t dxpl_id, H5G_obj_create_t *gcrt_info,
HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "can't get group info")
/* Call the "real" group creation routine now */
- if(H5G_obj_create_real(f, dxpl_id, &ginfo, &linfo, &pline, gcrt_info, oloc)
- < 0)
+ if(H5G_obj_create_real(f, dxpl_id, &ginfo, &linfo, &pline, gcrt_info, oloc) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTCREATE, FAIL, "unable to create group")
done:
@@ -263,7 +262,7 @@ H5G_obj_create_real(H5F_t *f, hid_t dxpl_id, const H5O_ginfo_t *ginfo,
* since nothing refers to it yet. The link count will be
* incremented if the object is added to the group directed graph.
*/
- if(H5O_create(f, dxpl_id, hdr_size, gcpl_id, oloc/*out*/) < 0)
+ if(H5O_create(f, dxpl_id, hdr_size, (size_t)1, gcpl_id, oloc/*out*/) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "can't create header")
/* Check for format of group to create */