diff options
author | Vailin Choi <vchoi@hdfgroup.org> | 2016-04-01 22:39:46 (GMT) |
---|---|---|
committer | Vailin Choi <vchoi@hdfgroup.org> | 2016-04-01 22:39:46 (GMT) |
commit | 653870dd035c76e2cf592cfcb768e95b72936c9d (patch) | |
tree | dd866e859dfccd4d5f77e0eb00ffa5437daefea3 /src/H5T.c | |
parent | b60cfd39706a60703e549a022aebac186fcfc2c2 (diff) | |
download | hdf5-653870dd035c76e2cf592cfcb768e95b72936c9d.zip hdf5-653870dd035c76e2cf592cfcb768e95b72936c9d.tar.gz hdf5-653870dd035c76e2cf592cfcb768e95b72936c9d.tar.bz2 |
[svn-r29606] Fix for shared file pointer HDFFV-9469. This is the same fix for revise_chunks (#28908).
Tested on jam, platypus, emu, kite, moohan, ostrich, osx1010test, quail.
Diffstat (limited to 'src/H5T.c')
-rw-r--r-- | src/H5T.c | 28 |
1 files changed, 28 insertions, 0 deletions
@@ -5452,3 +5452,31 @@ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5T_patch_file() */ + +/*------------------------------------------------------------------------- + * Function: H5T_patch_vlen_file + * + * Purpose: Patch the top-level file pointer contained in (dt->shared->u.vlen.f) + * to point to f. This is possible because + * the top-level file pointer can be closed out from under + * dt while dt is contained in the shared file's cache. + * + * Return: SUCCEED + * + *------------------------------------------------------------------------- + */ +herr_t +H5T_patch_vlen_file(H5T_t *dt, H5F_t *f) +{ + FUNC_ENTER_NOAPI_NOINIT_NOERR + + /* Sanity check */ + HDassert(dt); + HDassert(dt->shared); + HDassert(f); + + if((dt->shared->type == H5T_VLEN) && dt->shared->u.vlen.f != f) + dt->shared->u.vlen.f = f; + + FUNC_LEAVE_NOAPI(SUCCEED) +} /* end H5T_patch_vlen_file() */ |