9 stable releases
| 1.1.4 | Oct 17, 2025 |
|---|---|
| 1.1.3 | Sep 2, 2024 |
| 1.1.2 | Aug 19, 2022 |
| 1.1.1 | Feb 4, 2022 |
| 1.0.2 | Jul 25, 2020 |
#409 in Unix APIs
6,810 downloads per month
Used in 13 crates
(2 directly)
20KB
273 lines
file-locker
File locking via POSIX advisory record locks (fork of file-lock)
This functionality has now been added to the Rust standard library with
File::lock
and associated methods. As such this create will not see future updates and
should only be used for backwards compatibility with older versions of Rust.
This crate provides the facility to lock and unlock a file following the advisory record lock scheme as specified by UNIX IEEE Std 1003.1-2001 (POSIX.1) via fcntl().
This crate currently supports Linux and FreeBSD.
USAGE
use file_lock::FileLock;
use std::io::prelude::*;
use std::io::Result;
fn main() -> Result<()> {
let filelock = FileLock::new("myfile.txt")
.writeable(true)
.blocking(true)
.lock()?;
filelock.file.write_all(b"Hello, World!")?;
// Manually unlocking is optional as we unlock on Drop
filelock.unlock();
}
DOCUMENTATION
SUPPORT
Please report any bugs at:
Or by email at:
AUTHORS
Sebastian Thiel <byronimo@gmail.com>
Contribution
Contribution welcome!
Please send any patches to ~zethra/public-inbox@lists.sr.ht
If you need help sending a patch over email please see this guide
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, shall be licensed under the MIT license, without any additional terms or conditions.
Dependencies
~1.5MB
~38K SLoC