Skip to main content

MutexProtocol

Enum MutexProtocol 

Source
pub enum MutexProtocol {
    None,
    Inherit,
    Protect,
}
Expand description

The protocol to be used with the mutex. See pthread_mutexattr_getprotocol for more information.

Variants§

§

None

The lock-owning thread’s priority is unaffected by the mutex.

§

Inherit

Available on non-NetBSD only.

The lock-owning thread’s priority is the maximum of its own priority and the priority of all threads waiting on the mutex.

Not available on NetBSD, whose pthread_mutexattr_setprotocol rejects PTHREAD_PRIO_INHERIT with ENOTSUP while accepting the other two protocols.

§

Protect

Available on neither Android nor musl.

The lock-owning thread’s priority is the maximum of its own priority and the priority ceilings of every mutex it holds that was built with this protocol, whether or not anyone is blocked on them.

Set the ceilings with MutexBuilder::with_priority_ceiling. Not available on musl or Android, neither of which implements the POSIX Thread Priority Protection option: there are no ceilings there for this protocol to read, and both reject it outright.

Trait Implementations§

Source§

impl Clone for MutexProtocol

Source§

fn clone(&self) -> MutexProtocol

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for MutexProtocol

Source§

impl Debug for MutexProtocol

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for MutexProtocol

Source§

fn default() -> MutexProtocol

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

impl Eq for MutexProtocol

Source§

impl From<MutexProtocol> for i32

Source§

fn from(value: MutexProtocol) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for MutexProtocol

Source§

fn eq(&self, other: &MutexProtocol) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for MutexProtocol

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.