[−][src]Struct bare_metal::Mutex
A "mutex" based on critical sections.
Safety
This Mutex is only safe on single-core systems.
On multi-core systems, a CriticalSection
is not sufficient to ensure exclusive access.
Implementations
impl<T> Mutex<T>
[src]
pub const fn new(value: T) -> Self
[src]
Creates a new mutex.
pub fn get_mut(&mut self) -> &mut T
[src]
Gets a mutable reference to the contained value when the mutex is already uniquely borrowed.
This does not require locking or a critical section since it takes &mut self
, which
guarantees unique ownership already. Care must be taken when using this method to
unsafely access static mut
variables, appropriate fences must be used to prevent
unwanted optimizations.
pub fn into_inner(self) -> T
[src]
Unwraps the contained value, consuming the mutex.
pub fn borrow<'cs>(&'cs self, _cs: CriticalSection<'cs>) -> &'cs T
[src]
Borrows the data for the duration of the critical section.
Trait Implementations
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,
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.
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>,