# 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...