diff options
author | Raymond Lu <songyulu@hdfgroup.org> | 2010-09-08 17:12:18 (GMT) |
---|---|---|
committer | Raymond Lu <songyulu@hdfgroup.org> | 2010-09-08 17:12:18 (GMT) |
commit | ec5f5c868fb4dad3452db045c627fe258b152cd2 (patch) | |
tree | 2d70e1cceb03c1d708eee738000681d7391cc8ae /src/H5Tconv.c | |
parent | 4d88ec662b733cb6ec119e126dc96aa74ba4632b (diff) | |
download | hdf5-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/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.*/ |