Expand description
git-style registered lock files to make altering resources atomic.
In this model, reads are always atomic and can be performed directly while writes are facilitated by a locking mechanism implemented here.
Lock files mostly git-tempfile
with its auto-cleanup and the following:
- consistent naming of lock files
- block the thread (with timeout) or fail immediately if a lock cannot be obtained right away
- commit lock files to atomically put them into the location of the originally locked file
Limitations
- As the lock file is separate from the actual resource, locking is merely a convention rather than being enforced.
- The limitations of
git-tempfile
apply.
Re-exports
pub use git_tempfile as tempfile;