pub struct NoPreemptIrqSave(/* private fields */);
Expand description

A guard that disables/enables both kernel preemption and local IRQs around the critical section.

When entering the critical section, it disables kernel preemption first, followed by local IRQs. When leaving the critical section, it re-enables local IRQs first, followed by kernel preemption.

Implementations§

source§

impl NoPreemptIrqSave

source

pub fn new() -> Self

Creates a new NoPreemptIrqSave guard.

Trait Implementations§

source§

impl BaseGuard for NoPreemptIrqSave

§

type State = usize

The saved state when entering the critical section.
source§

fn acquire() -> Self::State

Something that must be done before entering the critical section.
source§

fn release(state: Self::State)

Something that must be done after leaving the critical section.
source§

impl Default for NoPreemptIrqSave

source§

fn default() -> Self

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

impl Drop for NoPreemptIrqSave

source§

fn drop(&mut self)

Executes the destructor for this type. Read more

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, U> TryFrom<U> for T
where U: Into<T>,

§

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>,

§

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.