Trait lock_api::rwlock::RawRwLockUpgradeFair

source ·
pub unsafe trait RawRwLockUpgradeFair: RawRwLockUpgrade + RawRwLockFair {
    // Required method
    unsafe fn unlock_upgradable_fair(&self);

    // Provided method
    unsafe fn bump_upgradable(&self) { ... }
}
Expand description

Additional methods for RwLocks which support upgradable locks and fair unlocking.

Required Methods§

source

unsafe fn unlock_upgradable_fair(&self)

Releases an upgradable lock using a fair unlock protocol.

§Safety

This method may only be called if an upgradable lock is held in the current context.

Provided Methods§

source

unsafe fn bump_upgradable(&self)

Temporarily yields an upgradable lock to a waiting thread if there is one.

This method is functionally equivalent to calling unlock_upgradable_fair followed by lock_upgradable, however it can be much more efficient in the case where there are no waiting threads.

§Safety

This method may only be called if an upgradable lock is held in the current context.

Object Safety§

This trait is not object safe.

Implementors§