Skip to main content

AxRawMutex

Struct AxRawMutex 

Source
pub struct AxRawMutex { /* private fields */ }
Expand description

A non-recursive, urgency-ordered PI mutex implementing lock_api::RawMutex.

The uncontended path uses a Linux rtmutex-style atomic owner word. Its high bit forces contenders through the metadata lock while waiter publication, donation registration, and handoff are in progress. Blocking and targeted wake happen after that metadata guard has been released.

Implementations§

Source§

impl RawMutex

Source

pub const fn new() -> RawMutex

Creates an unlocked PI mutex.

Source

pub fn is_owned_by_current(&self) -> bool

Returns whether the current thread owns this mutex.

Trait Implementations§

Source§

impl Default for RawMutex

Source§

fn default() -> RawMutex

Returns the “default value” for a type. Read more
Source§

impl RawMutex for RawMutex

Source§

const INIT: RawMutex

Initial value for an unlocked mutex.
Source§

type GuardMarker = GuardNoSend

Marker type which determines whether a lock guard should be Send. Use one of the GuardSend or GuardNoSend helper types here.
Source§

fn lock(&self)

Acquires this mutex, blocking the current thread until it is able to do so.
Source§

fn try_lock(&self) -> bool

Attempts to acquire this mutex without blocking. Returns true if the lock was successfully acquired and false otherwise.
Source§

unsafe fn unlock(&self)

Unlocks this mutex. Read more
Source§

fn is_locked(&self) -> bool

Checks whether the mutex is currently locked.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Pointee for T

Source§

type Metadata = ()

The metadata type for pointers and references to this type.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.