Developed with ❤️ by Tabnine
A simple cross-process locking API.
In your Cargo.toml file, add:
[dependencies]
proc-lock = "*"use proc_lock::{lock,LockPath};fnmain(){let lock_path = LockPath::Tmp("my_lock.lock");let guard = lock(&lock_path).unwrap();// Until `guard` is dropped, this code section is atomic across multiple processes.// ...drop(guard);}use proc_lock::proclock;fnmain(){// A lock will be acquired at the beginning of this function, and will be released at the end.a_sensitive_function();}#[proc_lock(name = "my_lock.lock")]fna_sensitive_function(){}- 0.4.0 - Change interdependencies to local for better development process
- 0.3.3 - Minor docs changes
- 0.3.2 - Fix macro compilation
- 0.3.1 - Change docs
- 0.3.0 - [breaking changes] Rename crate to
proc-lock, and the macro toproc_lock - 0.2.1 - Add a notice about renaming the crate
- 0.2.0 - [breaking changes] Stop supporting non-blocking macro api
Please refer to our project, as well as open issues.
Also feel free to discuss and open PRs regardless :)
- Run tests:
cargo test- Run clippy
cargo clippy --all --all-targets --all-features -- --no-deps -D clippy::pedantic