Crate file_lock[−][src]
File locking via POSIX advisory record locks.
This crate provides the facility to obtain a write-lock and unlock a file
following the advisory record lock scheme as specified by UNIX IEEE Std 1003.1-2001
(POSIX.1) via fcntl()
.
Examples
Please note that the examples use tempfile
merely to quickly create a file
which is removed automatically. In the common case, you would want to lock
a file which is known to multiple processes.
extern crate file_lock; use file_lock::FileLock; fn main() { let should_we_block = true; let lock_for_writing = true; let filelock = match FileLock::lock("myfile.txt", should_we_block, lock_for_writing) { Ok(lock) => lock, Err(err) => panic!("Error getting write lock: {}", err), }; println!("Successfully got a write lock: {:#?}", filelock.file); // ... // Manually unlocking is optional as we unlock on Drop filelock.unlock(); }
Structs
FileLock |
Represents the actualy locked file |