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/H5Tconv.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/H5Tconv.c')
-rw-r--r-- | src/H5Tconv.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/H5Tconv.c b/src/H5Tconv.c index 6069577..d66619d 100644 --- a/src/H5Tconv.c +++ b/src/H5Tconv.c @@ -1783,9 +1783,9 @@ H5T_conv_struct_free(H5T_conv_struct_t *priv) for (i=0; i<priv->src_nmembs; i++) if (src2dst[i] >= 0) { - status = H5I_dec_ref(src_memb_id[i], FALSE); + status = H5I_dec_ref(src_memb_id[i], FALSE, FALSE); HDassert(status >= 0); - status = H5I_dec_ref(dst_memb_id[src2dst[i]], FALSE); + status = H5I_dec_ref(dst_memb_id[src2dst[i]], FALSE, FALSE); HDassert(status >= 0); } @@ -3173,9 +3173,9 @@ H5T_conv_vlen(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, /* Release the temporary datatype IDs used */ if(tsrc_id >= 0) - H5I_dec_ref(tsrc_id, FALSE); + H5I_dec_ref(tsrc_id, FALSE, FALSE); if(tdst_id >= 0) - H5I_dec_ref(tdst_id, FALSE); + H5I_dec_ref(tdst_id, FALSE, FALSE); break; default: /* Some other command we don't know about yet.*/ @@ -3325,9 +3325,9 @@ H5T_conv_array(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, /* Release the temporary datatype IDs used */ if(tsrc_id >= 0) - H5I_dec_ref(tsrc_id, FALSE); + H5I_dec_ref(tsrc_id, FALSE, FALSE); if(tdst_id >= 0) - H5I_dec_ref(tdst_id, FALSE); + H5I_dec_ref(tdst_id, FALSE, FALSE); break; default: /* Some other command we don't know about yet.*/ |