summaryrefslogtreecommitdiffstats
path: root/src/H5FDfamily.c
diff options
context:
space:
mode:
authorRaymond Lu <songyulu@hdfgroup.org>2010-09-08 17:12:18 (GMT)
committerRaymond Lu <songyulu@hdfgroup.org>2010-09-08 17:12:18 (GMT)
commitec5f5c868fb4dad3452db045c627fe258b152cd2 (patch)
tree2d70e1cceb03c1d708eee738000681d7391cc8ae /src/H5FDfamily.c
parent4d88ec662b733cb6ec119e126dc96aa74ba4632b (diff)
downloadhdf5-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.c8
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);