use super::{SignalNo, SignalResult};
pub(crate) enum DefaultAction {
Terminate(i32),
Ignore,
}
impl From<SignalNo> for DefaultAction {
fn from(signal_no: SignalNo) -> Self {
match signal_no {
SignalNo::SIGCHLD | SignalNo::SIGURG => Self::Ignore,
_ => Self::Terminate(-(signal_no as i32)),
}
}
}
impl Into<SignalResult> for DefaultAction {
fn into(self) -> SignalResult {
match self {
Self::Terminate(exit_code) => SignalResult::ProcessKilled(exit_code),
Self::Ignore => SignalResult::Ignored,
}
}
}