kernel::process

Enum FaultAction

Source
pub enum FaultAction {
    Panic,
    Restart,
    Stop,
}
Expand description

The action the kernel should take when a process encounters a fault.

When an exception occurs during a process’s execution (a common example is a process trying to access memory outside of its allowed regions) the system will trap back to the kernel, and the kernel has to decide what to do with the process at that point.

The actions are separate from the policy on deciding which action to take. A separate process-specific policy should determine which action to take.

Variants§

§

Panic

Generate a panic!() call and crash the entire system. This is useful for debugging applications as the error is displayed immediately after it occurs.

§

Restart

Attempt to cleanup and restart the process which caused the fault. This resets the process’s memory to how it was when the process was started and schedules the process to run again from its init function.

§

Stop

Stop the process by no longer scheduling it to run.

Trait Implementations§

Source§

impl Clone for FaultAction

Source§

fn clone(&self) -> FaultAction

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for FaultAction

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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>,

Source§

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

Source§

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.