Trait lock_api::RawRwLockRecursive [−][src]
pub unsafe trait RawRwLockRecursive: RawRwLock { fn lock_shared_recursive(&self); fn try_lock_shared_recursive(&self) -> bool; }
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
fn lock_shared_recursive(&self)
[src]
Acquires a shared lock without deadlocking in case of a recursive lock.
fn try_lock_shared_recursive(&self) -> bool
[src]
Attempts to acquire a shared lock without deadlocking in case of a recursive lock.