Struct kernel_guard::NoPreemptIrqSave
source · 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
impl NoPreemptIrqSave
sourcepub fn new() -> Self
pub fn new() -> Self
Creates a new NoPreemptIrqSave
guard.
Trait Implementations§
source§impl BaseGuard for NoPreemptIrqSave
impl BaseGuard for NoPreemptIrqSave
source§impl Default for NoPreemptIrqSave
impl Default for NoPreemptIrqSave
Auto Trait Implementations§
impl RefUnwindSafe for NoPreemptIrqSave
impl Send for NoPreemptIrqSave
impl Sync for NoPreemptIrqSave
impl Unpin for NoPreemptIrqSave
impl UnwindSafe for NoPreemptIrqSave
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more