Trait lock_api::RawRwLockRecursive
source · [−]pub unsafe trait RawRwLockRecursive: RawRwLock {
fn lock_shared_recursive(&self);
fn try_lock_shared_recursive(&self) -> bool;
}
Expand description
Additional methods for RwLocks which support recursive read locks.
These are guaranteed to succeed without blocking if
another read lock is held at the time of the call. This allows a thread
to recursively lock a RwLock
. However using this method can cause
writers to starve since readers no longer block if a writer is waiting
for the lock.
Required methods
Acquires a shared lock without deadlocking in case of a recursive lock.
Attempts to acquire a shared lock without deadlocking in case of a recursive lock.