Trait lock_api::rwlock::RawRwLockRecursive

source ·
pub unsafe trait RawRwLockRecursive: RawRwLock {
    // Required methods
    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§

source

fn lock_shared_recursive(&self)

Acquires a shared lock without deadlocking in case of a recursive lock.

source

fn try_lock_shared_recursive(&self) -> bool

Attempts to acquire a shared lock without deadlocking in case of a recursive lock.

Object Safety§

This trait is not object safe.

Implementors§