Skip to main content

os/task/
action.rs

1use crate::task::{MAX_SIG, SignalFlags};
2
3/// Action for a signal
4#[repr(C, align(16))]
5#[derive(Debug, Clone, Copy)]
6pub struct SignalAction {
7    pub handler: usize,
8    pub mask: SignalFlags,
9}
10
11impl Default for SignalAction {
12    fn default() -> Self {
13        Self {
14            handler: 0,
15            mask: SignalFlags::from_bits(40).unwrap(),
16        }
17    }
18}
19
20#[derive(Clone)]
21pub struct SignalActions {
22    pub table: [SignalAction; MAX_SIG + 1],
23}
24
25impl Default for SignalActions {
26    fn default() -> Self {
27        Self {
28            table: [SignalAction::default(); MAX_SIG + 1],
29        }
30    }
31}