diff options
author | David Young <dyoung@hdfgroup.org> | 2020-09-14 17:42:33 (GMT) |
---|---|---|
committer | David Young <dyoung@hdfgroup.org> | 2020-09-14 17:42:33 (GMT) |
commit | 43470c8dafc11ca40f99478e6f9c91e41445d78a (patch) | |
tree | 743fdce23ab7d01a72125ee897fafbd6df94c084 | |
parent | c96c891d32b6f7335a579f3af01ff623986e36ab (diff) | |
parent | 69f40536926c4ef55a6ac10f4f69389eb6ca1d33 (diff) | |
download | hdf5-43470c8dafc11ca40f99478e6f9c91e41445d78a.zip hdf5-43470c8dafc11ca40f99478e6f9c91e41445d78a.tar.gz hdf5-43470c8dafc11ca40f99478e6f9c91e41445d78a.tar.bz2 |
Merge branch 'feature/vfd_swmr' into multi
-rw-r--r-- | doc/VFD_SWMR_Guide.md | 24 | ||||
-rw-r--r-- | doc/vfd-swmr-user-guide.md | 20 |
2 files changed, 20 insertions, 24 deletions
diff --git a/doc/VFD_SWMR_Guide.md b/doc/VFD_SWMR_Guide.md deleted file mode 100644 index 4c70720..0000000 --- a/doc/VFD_SWMR_Guide.md +++ /dev/null @@ -1,24 +0,0 @@ -# VFD SWMR User's Guide - -## Caveats - -A few library functions are known to work incorrectly with VFD -SWMR. - -* Variable-length data written using VFD SWMR may be inaccessible - or inconsistent to a VFD SWMR reader until the writer closes - the file. Instead of the proper variable-length data, a reader may - read NULL or arbitrary bytes. Inconsistencies may also cause the - reader to crash. - -* Applications should take care using HDF5 iteration APIs, especially - when iterating large numbers of objects or using long-running - application callbacks. While the library is in an iteration routine, - it does not track changes made by the writer. If the library spends more than - `max_lag` ticks in the routine, then its view of the HDF5 file will become - stale. Under those circumstances, HDF5 content could be mis-read, or the - library could crash with a diagnostic assertion. - -* At the present level of development, the writer cannot invalidate a reader's HDF5 object handles (`hid_t`s). If a reader holds an object open---that is, it has a valid handle (`hid_t`) for the object---while the writer deletes it, then - reading content through the handle may yield corrupted data or the data from some - other object, or the library may crash. diff --git a/doc/vfd-swmr-user-guide.md b/doc/vfd-swmr-user-guide.md index 650d869..cfb6848 100644 --- a/doc/vfd-swmr-user-guide.md +++ b/doc/vfd-swmr-user-guide.md @@ -447,6 +447,26 @@ problem. There is no schedule for those improvements. Improvements to VFD SWMR may also alleviate the problem. +## Iteration + +An application that reads in VFD SWMR mode should take care to avoid +HDF5 iteration APIs, especially when iterating large numbers of objects +or using long-running application callbacks. While the library is in an +iteration routine, it cannot track changes made by the writer. If the +library spends more than `max_lag` ticks in the routine, then its view +of the HDF5 file will become stale. Under those circumstances, HDF5 +content could be mis-read, or the library could crash with a diagnostic +assertion. + +## Object handles + +At the present level of development, the writer cannot invalidate +a reader's HDF5 object handles (`hid_t`s). If a reader holds an +object open---that is, it has a valid handle (`hid_t`) for the +object---while the writer deletes it, then reading content through +the handle may yield corrupted data or the data from some other +object, or the library may crash. + ## Microsoft Windows VFD SWMR is not officially supported on Microsoft Windows at this time. The |