summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeil Fortner <nfortne2@hdfgroup.org>2019-12-06 22:39:38 (GMT)
committerNeil Fortner <nfortne2@hdfgroup.org>2019-12-06 22:39:38 (GMT)
commit347f5795bf36bc1348b81118f5e33ec1928891c5 (patch)
tree8696ddc69d61a54b42c758467364665d109190f9
parentc4b34cb649fc9f26b40586000e058efb47bc35fd (diff)
parent681d227e9ee7876922fb05e609db18425cb1630d (diff)
downloadhdf5-347f5795bf36bc1348b81118f5e33ec1928891c5.zip
hdf5-347f5795bf36bc1348b81118f5e33ec1928891c5.tar.gz
hdf5-347f5795bf36bc1348b81118f5e33ec1928891c5.tar.bz2
Merge pull request #2096 in HDFFV/hdf5 from ~NFORTNE2/hdf5_naf:tmp_112 to hdf5_1_12
* commit '681d227e9ee7876922fb05e609db18425cb1630d': Fix issue where H5R__reopen_file did not make the file "post open" callback.
-rw-r--r--src/H5Rint.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/H5Rint.c b/src/H5Rint.c
index 443a245..504ae06 100644
--- a/src/H5Rint.c
+++ b/src/H5Rint.c
@@ -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")