[−][src]Enum r3::kernel::MutexProtocol
Specifies the locking protocol to be followed by a mutex.
Relation to Other Specifications: The operating systems and operating system specifications providing an interface for specifying a mutex protocol include (but are not limited to) the following: POSIX (
pthread_mutexattr_setprotocol
andPTHREAD_PRIO_PROTECT
, etc.), RTEMS Classic API (RTEMS_PRIORITY_CEILING
, etc.), and μITRON4.0 (TA_CEILING
, etc.).
Rationale: When this enumerate type was added, the plan was to only support the priority ceiling protocol, so having a method
CfgMutexBuilder::ceiling_priority
taking a priority ceiling value would have been simpler. Nevertheless, it was decided to use this enumerate type to accomodate other protocols in the future and to allow specifying protocol-specific parameters.
Variants
Locking the mutex does not affect the priority of the owning task.
Locking the mutex raises the effective priority of the owning task to the mutex's priority ceiling according to the immediate priority ceiling protocol. The inner value specifies the priority ceiling.
The value must be in range 0..
num_task_priority_levels
.
Trait Implementations
impl Clone for MutexProtocol
[src]
pub fn clone(&self) -> MutexProtocol
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for MutexProtocol
[src]
impl Debug for MutexProtocol
[src]
impl Eq for MutexProtocol
[src]
impl PartialEq<MutexProtocol> for MutexProtocol
[src]
pub fn eq(&self, other: &MutexProtocol) -> bool
[src]
pub fn ne(&self, other: &MutexProtocol) -> bool
[src]
impl StructuralEq for MutexProtocol
[src]
impl StructuralPartialEq for MutexProtocol
[src]
Auto Trait Implementations
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,