#[repr(transparent)]pub struct RawRwLock { /* private fields */ }
Expand description
Raw rwlock type implemented with lock-free userspace thread queues.
Trait Implementations
sourceimpl RawRwLock for RawRwLock
impl RawRwLock for RawRwLock
type GuardMarker = GuardNoSend
type GuardMarker = GuardNoSend
Marker type which determines whether a lock guard should be Send
. Use
one of the GuardSend
or GuardNoSend
helper types here. Read more
sourceconst INIT: Self = Self {
state: AtomicPtr::new(invalid_mut(UNLOCKED)),
}
const INIT: Self = Self { state: AtomicPtr::new(invalid_mut(UNLOCKED)), }
Initial value for an unlocked RwLock
.
sourcefn is_locked_exclusive(&self) -> bool
fn is_locked_exclusive(&self) -> bool
Check if this RwLock
is currently exclusively locked.
sourcefn try_lock_exclusive(&self) -> bool
fn try_lock_exclusive(&self) -> bool
Attempts to acquire an exclusive lock without blocking.
sourcefn lock_exclusive(&self)
fn lock_exclusive(&self)
Acquires an exclusive lock, blocking the current thread until it is able to do so.
sourceunsafe fn unlock_exclusive(&self)
unsafe fn unlock_exclusive(&self)
Releases an exclusive lock. Read more
Attempts to acquire a shared lock without blocking.
Acquires a shared lock, blocking the current thread until it is able to do so.
Releases a shared lock. Read more
impl Send for RawRwLock
impl Sync for RawRwLock
Auto Trait Implementations
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more