pub enum StoppedExecutingReason {
NoWorkLeft,
StoppedFaulted,
Stopped,
TimesliceExpired,
KernelPreemption,
}
Expand description
Enum used to inform scheduler why a process stopped executing (aka why
do_process()
returned).
This is publicly exported to allow for schedulers implemented outside of the kernel crate.
Variants§
NoWorkLeft
The process returned because it is no longer ready to run.
StoppedFaulted
The process faulted, and the board restart policy was configured such that it was not restarted and there was not a kernel panic.
Stopped
The kernel stopped the process.
TimesliceExpired
The process was preempted because its timeslice expired.
KernelPreemption
The process returned because it was preempted by the kernel. This can mean that kernel work became ready (most likely because an interrupt fired and the kernel thread needs to execute the bottom half of the interrupt), or because the scheduler no longer wants to execute that process.
Trait Implementations§
Source§impl PartialEq for StoppedExecutingReason
impl PartialEq for StoppedExecutingReason
impl Eq for StoppedExecutingReason
impl StructuralPartialEq for StoppedExecutingReason
Auto Trait Implementations§
impl Freeze for StoppedExecutingReason
impl RefUnwindSafe for StoppedExecutingReason
impl Send for StoppedExecutingReason
impl Sync for StoppedExecutingReason
impl Unpin for StoppedExecutingReason
impl UnwindSafe for StoppedExecutingReason
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