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.

Loading content...

Implementors

Loading content...