[−][src]Crate named_lock
This crate provides a simple and cross-platform implementation of named locks. You can use this to lock sections between processes.
Example
use named_lock::NamedLock; use named_lock::Result; fn main() -> Result<()> { let lock = NamedLock::create("foobar")?; let _guard = lock.lock()?; // Do something... Ok(()) }
Implementation
On UNIX systems this is implemented by using files and flock
. The path of
the created lock file will be /tmp/<name>.lock
.
On Windows this is implemented by creating named mutex with CreateMutexW
.
Structs
NamedLock | Cross-process lock that is identified by name. |
NamedLockGuard | Scoped guard that unlocks NamedLock. |
Enums
Error | Error type of this crate. |
Type Definitions
Result | Type alias to |