diff options
author | Raymond Lu <songyulu@hdfgroup.org> | 2010-09-09 18:15:36 (GMT) |
---|---|---|
committer | Raymond Lu <songyulu@hdfgroup.org> | 2010-09-09 18:15:36 (GMT) |
commit | 073eb187d6589e5741065038d3f4ca3f634381d9 (patch) | |
tree | c8907e2e4ea22075a85b8ea8d264a53d10c681c3 /src/H5Dfill.c | |
parent | bed127641399ec6c6e1479b7c394fd3a4eb56438 (diff) | |
download | hdf5-073eb187d6589e5741065038d3f4ca3f634381d9.zip hdf5-073eb187d6589e5741065038d3f4ca3f634381d9.tar.gz hdf5-073eb187d6589e5741065038d3f4ca3f634381d9.tar.bz2 |
[svn-r19363] 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/H5Dfill.c')
-rw-r--r-- | src/H5Dfill.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/H5Dfill.c b/src/H5Dfill.c index 1999dda..bff51f6 100644 --- a/src/H5Dfill.c +++ b/src/H5Dfill.c @@ -332,9 +332,9 @@ H5D_fill(const void *fill, const H5T_t *fill_type, void *buf, } /* end else */ done: - if(src_id != (-1) && H5I_dec_ref(src_id, FALSE) < 0) + if(src_id != (-1) && H5I_dec_ref(src_id, FALSE, FALSE) < 0) HDONE_ERROR(H5E_DATASET, H5E_CANTFREE, FAIL, "Can't decrement temporary datatype ID") - if(dst_id != (-1) && H5I_dec_ref(dst_id, FALSE) < 0) + if(dst_id != (-1) && H5I_dec_ref(dst_id, FALSE, FALSE) < 0) HDONE_ERROR(H5E_DATASET, H5E_CANTFREE, FAIL, "Can't decrement temporary datatype ID") if(tmp_buf) tmp_buf = H5FL_BLK_FREE(type_conv, tmp_buf); @@ -693,7 +693,7 @@ H5D_fill_term(H5D_fill_buf_info_t *fb_info) /* Free other resources for vlen fill values */ if(fb_info->has_vlen_fill_type) { if(fb_info->mem_tid > 0) - H5I_dec_ref(fb_info->mem_tid, FALSE); + H5I_dec_ref(fb_info->mem_tid, FALSE, FALSE); else if(fb_info->mem_type) H5T_close(fb_info->mem_type); if(fb_info->bkg_buf) |