diff options
author | James Laird <jlaird@hdfgroup.org> | 2007-02-06 18:21:39 (GMT) |
---|---|---|
committer | James Laird <jlaird@hdfgroup.org> | 2007-02-06 18:21:39 (GMT) |
commit | 9e390cc1d94864b678ac9013793b157ce4d200f7 (patch) | |
tree | 7671ea1af51c76505714f4ac7d3e37bb2b9b46fc /src/H5G.c | |
parent | 571523db1ffab60b505a0f66d3f7c25f4d1752d7 (diff) | |
download | hdf5-9e390cc1d94864b678ac9013793b157ce4d200f7.zip hdf5-9e390cc1d94864b678ac9013793b157ce4d200f7.tar.gz hdf5-9e390cc1d94864b678ac9013793b157ce4d200f7.tar.bz2 |
[svn-r13245] Added "superblock extension" object header to hold shared object header
information, rather than storing it directly in the superblock.
This should make future updates to the superblock much less painful.
Tested on Windows, kagiso, and smirom.
Diffstat (limited to 'src/H5G.c')
-rw-r--r-- | src/H5G.c | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -1055,8 +1055,13 @@ H5G_mkroot(H5F_t *f, hid_t dxpl_id, H5G_loc_t *loc) HGOTO_ERROR(H5E_SYM, H5E_CANTCOPY, FAIL, "can't copy group object location") f->shared->root_grp->shared->fo_count = 1; - HDassert(1 == f->nopen_objs); - f->nopen_objs = 0; + /* The only other open object should be the superblock extension, if it + * exists. Don't count either the superblock extension or the root group + * in the number of open objects in the file. + */ + HDassert((1 == f->nopen_objs) || + (2 == f->nopen_objs && HADDR_UNDEF != f->shared->extension_addr)); + f->nopen_objs--; done: FUNC_LEAVE_NOAPI(ret_value) |