summaryrefslogtreecommitdiffstats
path: root/src/H5Fint.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5Fint.c')
-rw-r--r--src/H5Fint.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/H5Fint.c b/src/H5Fint.c
index 440e85c..8ec36d2 100644
--- a/src/H5Fint.c
+++ b/src/H5Fint.c
@@ -3598,7 +3598,16 @@ H5F__start_swmr_write(H5F_t *f)
/* Refresh (reopen) the objects (groups & datasets) in the file */
for(u = 0; u < grp_dset_count; u++)
- if(H5O_refresh_metadata_reopen(obj_ids[u], &obj_glocs[u], vol_connector, TRUE) < 0)
+ /* XXX This routine probably should prepare legitimate
+ * H5O_refresh_state_t's, above, and pass those instead of NULL, so
+ * that non-persistent object properties---e.g., dataset access
+ * properties---are copied from old objects to reopened objects.
+ *
+ * Passing NULL here shouldn't introduce any bugs in Legacy SWMR,
+ * however, and it lets VFD SWMR development proceed, so I'm not
+ * going to sweat it, now.
+ */
+ if(H5O_refresh_metadata_reopen(obj_ids[u], &obj_glocs[u], NULL, vol_connector, TRUE) < 0)
HGOTO_ERROR(H5E_ATOM, H5E_CLOSEERROR, FAIL, "can't refresh-close object")
/* Unlock the file */