summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMohamad Chaarawi <chaarawi@hdfgroup.org>2014-09-02 14:54:46 (GMT)
committerMohamad Chaarawi <chaarawi@hdfgroup.org>2014-09-02 14:54:46 (GMT)
commitf2e6cec0728a75f5982e3b6d91f0ce823d1206a6 (patch)
treec1b9ae74efa2410b206c809ca595a781ca6608df
parent44b10fffdf81200f30326eb51fc17b3215c1ceab (diff)
downloadhdf5-f2e6cec0728a75f5982e3b6d91f0ce823d1206a6.zip
hdf5-f2e6cec0728a75f5982e3b6d91f0ce823d1206a6.tar.gz
hdf5-f2e6cec0728a75f5982e3b6d91f0ce823d1206a6.tar.bz2
[svn-r25566] copy the fapl in the family vfd when it's default, instead of just incrementing the ref count.
This fixes the infinite loop closing the library with the family vfd error.
-rw-r--r--src/H5FDfamily.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/src/H5FDfamily.c b/src/H5FDfamily.c
index 1728d13..9f8696f 100644
--- a/src/H5FDfamily.c
+++ b/src/H5FDfamily.c
@@ -425,15 +425,9 @@ H5FD_family_fapl_copy(const void *_old_fa)
HDmemcpy(new_fa, old_fa, sizeof(H5FD_family_fapl_t));
/* Deep copy the property list objects in the structure */
- if(old_fa->memb_fapl_id==H5P_FILE_ACCESS_DEFAULT) {
- if(H5I_inc_ref(new_fa->memb_fapl_id, FALSE)<0)
- HGOTO_ERROR(H5E_VFL, H5E_CANTINC, NULL, "unable to increment ref count on VFL driver")
- } /* end if */
- else {
- if(NULL == (plist = (H5P_genplist_t *)H5I_object(old_fa->memb_fapl_id)))
- HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "not a file access property list")
- new_fa->memb_fapl_id = H5P_copy_plist(plist, FALSE);
- } /* end else */
+ if(NULL == (plist = (H5P_genplist_t *)H5I_object(old_fa->memb_fapl_id)))
+ HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "not a file access property list")
+ new_fa->memb_fapl_id = H5P_copy_plist(plist, FALSE);
/* Set return value */
ret_value=new_fa;