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/H5FDfamily.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/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); |