summaryrefslogtreecommitdiffstats
path: root/src/H5FDvfd_swmr_private.h
Commit message (Collapse)AuthorAgeFilesLines
* Updates license url and history docsDana Robinson2021-03-251-10/+11
|
* Formats the source and updates the gcc warning pragmasDana Robinson2021-03-251-16/+15
|
* Adds DLLVAR macros to allow exporting symbols on WindowsDana Robinson2021-03-091-2/+2
|
* Brings MacOS fixes from main feature branchDana Robinson2021-03-021-3/+3
|\
| * Fixes leading underscores in VFD SWMR include guardsDana Robinson2021-03-011-3/+3
| |
* | Switch to hbool_t and TRUE/FALSE in library codeDana Robinson2021-03-021-3/+3
| |
* | Removed the rest of the hlog codeDana Robinson2021-03-021-6/+0
|/
* Add/improve some struct/member documentation per John's request.David Young2020-08-311-1/+1
|
* In VFD SWMR, use `H5F_shared_t` instead of `H5F_t` wherever that is possible.David Young2020-08-031-1/+1
|
* Don't perform EOT processing on the same H5F_shared_t more than once if it hasDavid Young2020-07-151-0/+1
| | | | | | multiple referring H5F_t on the EOT queue. This stops the VFD SWMR writer from advancing the shadow file's tick number too fast when we're using virtual datasets (VDS) with VFD SWMR.
* Add all extant virtual files to a list. Add an "exclusive owner" (`exc_owner`)David Young2020-07-101-1/+1
| | | | | | | | | | | | | | member to all virtual files. Add a routine, H5FD_has_conflict(), that returns true if a new virtual file is identical to an existing virtual file that has an exclusive owner. Establish an exclusive owner for a VFD SWMR virtual file's lower virtual file. Rename bsdqueue.h to H5queue.h and install it, since it's used by H5FDpublic.h. This is part of a changeset that helps us avoid creating multiple H5F_shared_t for one file when virtual datasets are used with VFD SWMR. The old code for deduplicating VFD SWMR H5F_shared_t instances did not work correctly with VFD SWMR, so we'd end up with multiple H5F_shared_t all active on the same file.
* Add a second bool argument to H5F_vfd_swmr_writer_end_of_tick() thatDavid Young2020-04-211-1/+1
| | | | | | | | | | | | | | | tells whether the call may wait for the reader tick to catch up. Add stub routines vfd_swmr_writer_may_increase_tick_to() and vfd_swmr_reader_did_increase_tick_to() for tests---e.g., vfd_swmr_zoo_writer/_reader---to use to coordinate their tick numbers. vfd_swmr_writer_may_increase_tick_to(new_tick, wait_for_reader) returns true if the writer may increase its tick number to `new_tick` without overrunning the reader. A reader uses vfd_swmr_reader_did_increase_tick_to() to tell a writer that its tick number has increased.
* Retire globals vfd_swmr_writer_g and end_of_tick_g.David Young2020-04-201-2/+0
|
* Stragglers from previous: globally declare some hlog outlets and addDavid Young2020-04-161-1/+4
| | | | declare some new functions.
* Straggler from previous: declare the new shadow_index_reclaim logDavid Young2020-04-071-0/+1
| | | | outlet.
* Move the `swmr` log-outlet declaration to H5FDvfd_swmr_private.h and use `swmr`David Young2020-02-281-0/+3
| | | | | as the parent outlet of a new outlet for messages about the motion of the shadow index.
* Shorten the type name `H5F_vfd_swmr_eot_queue_entry_t` to `eot_queue_entry_t`:David Young2019-12-101-17/+15
| | | | | | | people have to read and type this stuff! Use TAILQ_* macros instead of an unnecessary custom implementation of doubly-linked lists.
* Merge all of my changes from merge-back-to-feature-vfd_swmr-attempt-1,David Young2019-12-091-7/+5
| | | | | | | | including the merge of `hdffv/hdf5/develop`, back to the branch that Vailin and I share. Now I need to put this branch on a fork with a less confusing name than vchoi_fork!
* Changes for punch list #4: Add support for opening mulitple files in either ↵Vailin Choi2019-11-201-9/+59
| | | | | | VFD SWMR writer or reader mode. See EOT queue in section 3.2.2 and 3.3 and 3.3.2 in the RFC. Update punch list with items completed and in progress.
* Fix for punch list #9 Move VFD SWMR H5F code to its own file: H5Fvfd_swmr.c.vchoi2019-11-151-0/+16
|
* Consolidate VFD SWMR variable declarations in a new header file,David Young2019-08-281-0/+25
H5FDvfd_swmr_private.h. Perform tick processing in FUNC_ENTER_API_NOCLEAR, where it was missing. Track the number of times the HDF5 library has been entered/exited through its public API. Only perform tick processing on the first entry and last exit. This stops us from performing tick processing in API calls invoked by application callbacks. Performing tick processing in nested API calls led to crashes. Note well: FUNC_LEAVE_API now performs tick processing even on an error exit! Previously, it did not. I'm not sure if the change is ok.