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


  • 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.


pub use git_tempfile as tempfile;



Locks a resource to eventually be overwritten with the content of this file.

Locks a resource to allow related resources to be updated using files.