Struct hermit_sync::RawRwSpinLock
source · pub struct RawRwSpinLock { /* private fields */ }Expand description
A simple spinning, read-preferring readers-writer lock with exponential backoff.
Trait Implementations§
source§impl RawRwLock for RawRwSpinLock
impl RawRwLock for RawRwSpinLock
§type GuardMarker = GuardSend
type GuardMarker = GuardSend
Marker type which determines whether a lock guard should be
Send. Use
one of the GuardSend or GuardNoSend helper types here.Acquires a shared lock, blocking the current thread until it is able to do so.
Attempts to acquire a shared lock without blocking.
Releases a shared lock. Read more
source§fn lock_exclusive(&self)
fn lock_exclusive(&self)
Acquires an exclusive lock, blocking the current thread until it is able to do so.
source§fn try_lock_exclusive(&self) -> bool
fn try_lock_exclusive(&self) -> bool
Attempts to acquire an exclusive lock without blocking.
source§unsafe fn unlock_exclusive(&self)
unsafe fn unlock_exclusive(&self)
Releases an exclusive lock. Read more
source§fn is_locked_exclusive(&self) -> bool
fn is_locked_exclusive(&self) -> bool
Check if this
RwLock is currently exclusively locked.source§impl RawRwLockDowngrade for RawRwSpinLock
impl RawRwLockDowngrade for RawRwSpinLock
source§impl RawRwLockRecursive for RawRwSpinLock
impl RawRwLockRecursive for RawRwSpinLock
Acquires a shared lock without deadlocking in case of a recursive lock.
Attempts to acquire a shared lock without deadlocking in case of a recursive lock.
source§impl RawRwLockUpgrade for RawRwSpinLock
impl RawRwLockUpgrade for RawRwSpinLock
source§fn lock_upgradable(&self)
fn lock_upgradable(&self)
Acquires an upgradable lock, blocking the current thread until it is able to do so.
source§fn try_lock_upgradable(&self) -> bool
fn try_lock_upgradable(&self) -> bool
Attempts to acquire an upgradable lock without blocking.
source§unsafe fn unlock_upgradable(&self)
unsafe fn unlock_upgradable(&self)
Releases an upgradable lock. Read more
source§unsafe fn try_upgrade(&self) -> bool
unsafe fn try_upgrade(&self) -> bool
Attempts to upgrade an upgradable lock to an exclusive lock without
blocking. Read more
source§impl RawRwLockUpgradeDowngrade for RawRwSpinLock
impl RawRwLockUpgradeDowngrade for RawRwSpinLock
source§unsafe fn downgrade_upgradable(&self)
unsafe fn downgrade_upgradable(&self)
Downgrades an upgradable lock to a shared lock. Read more
source§unsafe fn downgrade_to_upgradable(&self)
unsafe fn downgrade_to_upgradable(&self)
Downgrades an exclusive lock to an upgradable lock. Read more
Auto Trait Implementations§
impl RefUnwindSafe for RawRwSpinLock
impl Send for RawRwSpinLock
impl Sync for RawRwSpinLock
impl Unpin for RawRwSpinLock
impl UnwindSafe for RawRwSpinLock
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more