[][src]Struct sunrise_kernel::event::IRQState

struct IRQState {
    irqnum: usize,
    counter: AtomicUsize,
    waiting_processes: SpinLockIRQ<Vec<Arc<ThreadStruct>>>,
}

Global state of an IRQ.

Counts the number of times this IRQ was triggered from kernel boot.

Fields

irqnum: usize

The irq number this state represents. Only used for debug logs.

counter: AtomicUsize

The number of time this IRQ was triggered from kernel boot.

waiting_processes: SpinLockIRQ<Vec<Arc<ThreadStruct>>>

List of processes waiting on this IRQ. When this IRQ is triggered, all those processes will be rescheduled.

Implementations

impl IRQState[src]

pub const fn new(irqnum: usize) -> IRQState[src]

Create a new IRQState for the given IRQ number, with the counter set to 0.

Trait Implementations

impl Debug for IRQState[src]

Auto Trait Implementations

impl !RefUnwindSafe for IRQState

impl Send for IRQState

impl Sync for IRQState

impl Unpin for IRQState

impl !UnwindSafe for IRQState

Blanket Implementations

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

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

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

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.