prcs 0.2.0

The Swiss Army knife for running processes
Documentation
use crate::status_constraints::StatusCode;
use std::process::ExitStatus;

#[cfg(target_family = "unix")]
pub fn get_status_code(child_status: &ExitStatus) -> StatusCode {
    use std::os::unix::prelude::ExitStatusExt;
    child_status
        .code()
        .or_else(|| ExitStatusExt::signal(child_status).map(|signal| 128 + signal))
        .unwrap_or_else(|| {
            println!("Failed to interpret child status code or signal, exiting with 128");
            128
        })
}
#[cfg(not(target_family = "unix"))]
pub fn get_status_code(child_status: &ExitStatus) -> StatusCode {
    child_status.code().unwrap_or_else(|| {
        println!("Failed to interpret child status code, exiting with 1");
        1
    })
}