6 releases (3 breaking)
|0.4.0||Sep 12, 2022|
|0.3.0||Sep 9, 2021|
|0.2.2||Feb 19, 2020|
|0.2.1||Jun 3, 2018|
|0.1.0||May 28, 2018|
#1440 in Filesystem
1,161 downloads per month
Used in 8 crates (4 directly)
A (work in progress) library for creating and locking lockfiles.
tests::smoke for a guide to how it works.
This crate provides a lockfile struct that marks a location in the filesystem as locked.
A lock is conceptually created when the file is created, and released when it is deleted.
If the file is already present, the
create function will fail.
use lockfile::Lockfile; const PATH: &str = "/tmp/some_file/s8329894"; let lockfile = Lockfile::create(PATH).unwrap(); assert_eq!(lockfile.path(), Path::new(PATH)); lockfile.release()?; // or just let the lockfile be dropped // File has been unlinked/deleted. assert_eq!(fs::metadata(PATH).unwrap_err().kind(), io::ErrorKind::NotFound);