Surelock: Deadlock-Free Mutexes for Rust
2 days ago
- #concurrency
- #deadlock-prevention
- #Rust
- Introduces 'surelock', a Rust library designed to prevent deadlocks at compile time by enforcing lock acquisition order through type-level tracking and unique lock IDs.
- Breaks the circular wait condition from Coffman's deadlock criteria using two mechanisms: LockSet for same-level atomic locks sorted by runtime ID, and Level<N> for incremental cross-level locks with compile-time ordering via trait bounds.
- Provides safe abstractions like MutexKey as a linear token to witness lock state, with features supporting no_std, embedded targets via custom backends, and an escape hatch for exceptional cases, aiming to make deadlock prevention ergonomic in Rust.