[][src]Enum kernel::procs::State

pub enum State {

Various states a process can be in.

This is made public in case external implementations of ProcessType want to re-use these process states in the external implementation.



Process expects to be running code. The process may not be currently scheduled by the scheduler, but the process has work to do if it is scheduled.


Process stopped executing and returned to the kernel because it called the yield syscall. This likely means it is waiting for some event to occur, but it could also mean it has finished and doesn't need to be scheduled again.


The process is stopped, and its previous state was Running. This is used if the kernel forcibly stops a process when it is in the Running state. This state indicates to the kernel not to schedule the process, but if the process is to be resumed later it should be put back in the running state so it will execute correctly.


The process is stopped, and it was stopped while it was yielded. If this process needs to be resumed it should be put back in the Yield state.


The process is stopped, and it was stopped after it faulted. This basically means the app crashed, and the kernel decided to just stop it and continue executing other things. The process cannot be restarted without being reset first.


The process has caused a fault.


The process has never actually been executed. This of course happens when the board first boots and the kernel has not switched to any processes yet. It can also happen if an process is terminated and all of its state is reset as if it has not been executed yet.

Trait Implementations

impl Clone for State[src]

impl Copy for State[src]

impl Debug for State[src]

impl Eq for State[src]

impl PartialEq<State> for State[src]

impl StructuralEq for State[src]

impl StructuralPartialEq for State[src]

Auto Trait Implementations

impl Send for State

impl Sync for State

impl Unpin for State

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized

impl<T> Borrow<T> for T where
    T: ?Sized

impl<T> BorrowMut<T> for T where
    T: ?Sized

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

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.