Skip to main content

ThreadState

Enum ThreadState 

Source
#[repr(u8)]
pub enum ThreadState { Running = 0, Ready = 1, Blocked = 2, Suspended = 3, Deleted = 4, Invalid = 5, }
Expand description

All OSAL trait definitions for advanced usage. All OSAL trait definitions for advanced usage. All OSAL trait definitions for advanced usage. Represents the possible states of an RTOS task/thread.

§Examples

use osal_rs::os::*;

let thread = Thread::get_current();
let metadata = thread.get_metadata();

match metadata.state {
    ThreadState::Running => (),   // currently executing
    ThreadState::Ready => (),     // ready to run
    ThreadState::Blocked => (),   // waiting for an event
    ThreadState::Suspended => (), // explicitly suspended
    _ => (),                      // deleted or unknown
}

// The thread asking is, by definition, the one running.
assert_eq!(metadata.state, ThreadState::Running);

Variants§

§

Running = 0

Thread is currently executing on a CPU

§

Ready = 1

Thread is ready to run but not currently executing

§

Blocked = 2

Thread is blocked waiting for an event (e.g., semaphore, queue)

§

Suspended = 3

Thread has been explicitly suspended

§

Deleted = 4

Thread has been deleted

§

Invalid = 5

Invalid or unknown state

Trait Implementations§

Source§

impl Clone for ThreadState

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Copy for ThreadState

Source§

impl Debug for ThreadState

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for ThreadState

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for ThreadState

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, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

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.