summaryrefslogtreecommitdiffstats
path: root/src/H5G.c
diff options
context:
space:
mode:
authorRaymond Lu <songyulu@hdfgroup.org>2010-09-08 17:12:18 (GMT)
committerRaymond Lu <songyulu@hdfgroup.org>2010-09-08 17:12:18 (GMT)
commitec5f5c868fb4dad3452db045c627fe258b152cd2 (patch)
tree2d70e1cceb03c1d708eee738000681d7391cc8ae /src/H5G.c
parent4d88ec662b733cb6ec119e126dc96aa74ba4632b (diff)
downloadhdf5-ec5f5c868fb4dad3452db045c627fe258b152cd2.zip
hdf5-ec5f5c868fb4dad3452db045c627fe258b152cd2.tar.gz
hdf5-ec5f5c868fb4dad3452db045c627fe258b152cd2.tar.bz2
[svn-r19359] When mandatory filter failed to write data chunks, the dataset
couldn't close (bug 1260). The fix releases all resources and closes the dataset but returns a failure. Tested with h5committest - jam, heiwa, amani.
Diffstat (limited to 'src/H5G.c')
-rw-r--r--src/H5G.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/H5G.c b/src/H5G.c
index 1e8669b..295ed48 100644
--- a/src/H5G.c
+++ b/src/H5G.c
@@ -504,7 +504,7 @@ H5Gget_create_plist(hid_t group_id)
done:
if(ret_value < 0) {
if(new_gcpl_id > 0)
- (void)H5I_dec_ref(new_gcpl_id, TRUE);
+ (void)H5I_dec_ref(new_gcpl_id, TRUE, FALSE);
} /* end if */
FUNC_LEAVE_API(ret_value)
@@ -714,7 +714,7 @@ H5Gclose(hid_t group_id)
* Decrement the counter on the group atom. It will be freed if the count
* reaches zero.
*/
- if(H5I_dec_ref(group_id, TRUE) < 0)
+ if(H5I_dec_ref(group_id, TRUE, FALSE) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTRELEASE, FAIL, "unable to close group")
done:
@@ -1536,7 +1536,7 @@ H5G_iterate(hid_t loc_id, const char *group_name,
done:
/* Release the group opened */
if(gid > 0) {
- if(H5I_dec_ref(gid, TRUE) < 0)
+ if(H5I_dec_ref(gid, TRUE, FALSE) < 0)
HDONE_ERROR(H5E_SYM, H5E_CANTRELEASE, FAIL, "unable to close group")
} /* end if */
else if(grp && H5G_close(grp) < 0)
@@ -1869,7 +1869,7 @@ done:
/* Release the group opened */
if(gid > 0) {
- if(H5I_dec_ref(gid, TRUE) < 0)
+ if(H5I_dec_ref(gid, TRUE, FALSE) < 0)
HDONE_ERROR(H5E_SYM, H5E_CANTRELEASE, FAIL, "unable to close group")
} /* end if */
else if(grp && H5G_close(grp) < 0)