use uucore::error::UError;
pub(crate) enum ExitStatus {
CommandTimedOut,
TimeoutFailed,
SignalSent(usize),
WaitingFailed,
Terminated,
}
impl From<ExitStatus> for i32 {
fn from(exit_status: ExitStatus) -> Self {
match exit_status {
ExitStatus::CommandTimedOut => 124,
ExitStatus::TimeoutFailed => 125,
ExitStatus::SignalSent(s) => 128 + s as Self,
ExitStatus::WaitingFailed => 124,
ExitStatus::Terminated => 143,
}
}
}
impl From<ExitStatus> for Box<dyn UError> {
fn from(exit_status: ExitStatus) -> Self {
Box::from(i32::from(exit_status))
}
}