pub struct RawRwSemaphore { /* private fields */ }Expand description
Raw implementation of a sleeping reader/writer semaphore.
A writer prevents new readers through its PI mutex, then waits for existing
readers to drain. Existing readers have no single owner to receive PI;
they must finish their critical sections, as with Linux rwbase_rt.
Implementations§
Trait Implementations§
Source§impl Default for RawRwSemaphore
impl Default for RawRwSemaphore
Source§impl RawRwLock for RawRwSemaphore
impl RawRwLock for RawRwSemaphore
Source§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.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.Auto Trait Implementations§
impl !Freeze for RawRwSemaphore
impl !RefUnwindSafe for RawRwSemaphore
impl !UnwindSafe for RawRwSemaphore
impl Send for RawRwSemaphore
impl Sync for RawRwSemaphore
impl Unpin for RawRwSemaphore
impl UnsafeUnpin for RawRwSemaphore
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