mirror of
https://github.com/HDFGroup/hdf5.git
synced 2026-09-25 04:09:44 +03:00
Merge pull request #2037 in HDFFV/hdf5 from ~NFORTNE2/hdf5_naf:develop to develop
* commit 'e5fc4889fa4f412056a4672435c96c17a6d1a936': Fix issue where H5R__reopen_file did not make the file "post open" callback.
This commit is contained in:
@@ -768,7 +768,7 @@ H5Fopen(const char *filename, unsigned flags, hid_t fapl_id)
|
||||
|
||||
/* Get the file object */
|
||||
if(NULL == (vol_obj = H5VL_vol_object(ret_value)))
|
||||
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, H5I_INVALID_HID, "invalid object identifier")
|
||||
HGOTO_ERROR(H5E_FILE, H5E_CANTGET, H5I_INVALID_HID, "invalid object identifier")
|
||||
|
||||
/* Make the post open callback */
|
||||
if(H5VL_file_specific(vol_obj, H5VL_FILE_POST_OPEN, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL) < 0)
|
||||
|
||||
@@ -504,6 +504,7 @@ H5R__reopen_file(H5R_ref_priv_t *ref, hid_t fapl_id)
|
||||
H5VL_connector_prop_t connector_prop;
|
||||
unsigned flags = H5F_ACC_RDWR; /* Must open file read-write to allow for object modifications */
|
||||
H5P_genplist_t *plist;
|
||||
H5VL_object_t *vol_obj = NULL; /* VOL object for file */
|
||||
hid_t ret_value = H5I_INVALID_HID;
|
||||
|
||||
FUNC_ENTER_PACKAGE
|
||||
@@ -534,6 +535,14 @@ H5R__reopen_file(H5R_ref_priv_t *ref, hid_t fapl_id)
|
||||
if((ret_value = H5VL_register_using_vol_id(H5I_FILE, new_file, connector_prop.connector_id, TRUE)) < 0)
|
||||
HGOTO_ERROR(H5E_FILE, H5E_CANTREGISTER, H5I_INVALID_HID, "unable to atomize file handle")
|
||||
|
||||
/* Get the file object */
|
||||
if(NULL == (vol_obj = H5VL_vol_object(ret_value)))
|
||||
HGOTO_ERROR(H5E_FILE, H5E_CANTGET, H5I_INVALID_HID, "invalid object identifier")
|
||||
|
||||
/* Make the post open callback */
|
||||
if(H5VL_file_specific(vol_obj, H5VL_FILE_POST_OPEN, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL) < 0)
|
||||
HGOTO_ERROR(H5E_FILE, H5E_CANTINIT, H5I_INVALID_HID, "unable to make file post open callback")
|
||||
|
||||
/* Attach loc_id to reference */
|
||||
if(H5R__set_loc_id((H5R_ref_priv_t *)ref, ret_value, FALSE) < 0)
|
||||
HGOTO_ERROR(H5E_REFERENCE, H5E_CANTSET, H5I_INVALID_HID, "unable to attach location id to reference")
|
||||
|
||||
Reference in New Issue
Block a user