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/H5FDfamily.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/H5FDfamily.c')
-rw-r--r-- | src/H5FDfamily.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/H5FDfamily.c b/src/H5FDfamily.c index 67bb107..ae66578 100644 --- a/src/H5FDfamily.c +++ b/src/H5FDfamily.c @@ -472,7 +472,7 @@ H5FD_family_fapl_free(void *_fa) FUNC_ENTER_NOAPI(H5FD_family_fapl_free, FAIL) - if(H5I_dec_ref(fa->memb_fapl_id, FALSE)<0) + if(H5I_dec_ref(fa->memb_fapl_id, FALSE, FALSE)<0) HGOTO_ERROR(H5E_VFL, H5E_CANTDEC, FAIL, "can't close driver ID") H5MM_xfree(fa); @@ -558,7 +558,7 @@ H5FD_family_dxpl_free(void *_dx) FUNC_ENTER_NOAPI(H5FD_family_dxpl_free, FAIL) - if(H5I_dec_ref(dx->memb_dxpl_id, FALSE)<0) + if(H5I_dec_ref(dx->memb_dxpl_id, FALSE, FALSE)<0) HGOTO_ERROR(H5E_VFL, H5E_CANTDEC, FAIL, "can't close driver ID") H5MM_xfree(dx); @@ -870,7 +870,7 @@ done: if (file->memb) H5MM_xfree(file->memb); - if(H5I_dec_ref(file->memb_fapl_id, FALSE)<0) + if(H5I_dec_ref(file->memb_fapl_id, FALSE, FALSE)<0) HDONE_ERROR(H5E_VFL, H5E_CANTDEC, NULL, "can't close driver ID") if (file->name) H5MM_xfree(file->name); @@ -921,7 +921,7 @@ H5FD_family_close(H5FD_t *_file) HDONE_ERROR(H5E_FILE, H5E_CANTCLOSEFILE, FAIL, "unable to close member files") /* Clean up other stuff */ - if(H5I_dec_ref(file->memb_fapl_id, FALSE) < 0) + if(H5I_dec_ref(file->memb_fapl_id, FALSE, FALSE) < 0) /* Push error, but keep going*/ HDONE_ERROR(H5E_VFL, H5E_CANTDEC, FAIL, "can't close driver ID") H5MM_xfree(file->memb); |