1 //! Helper module to detect subprocess exit code.
3 use std::process::ExitStatus;
6 pub fn get_exit_code(status: ExitStatus) -> Result<i32, String> {
7 status.code().ok_or_else(|| "received no exit code from child process".into())
11 pub fn get_exit_code(status: ExitStatus) -> Result<i32, String> {
12 use std::os::unix::process::ExitStatusExt;
14 Some(code) => Ok(code),
15 None => match status.signal() {
16 Some(signal) => Err(format!("child process exited with signal {}", signal)),
17 None => Err("child process exited with unknown signal".into()),