summaryrefslogtreecommitdiffstats
path: root/src/wait/error.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/wait/error.rs')
-rw-r--r--src/wait/error.rs36
1 files changed, 21 insertions, 15 deletions
diff --git a/src/wait/error.rs b/src/wait/error.rs
index 169097d..fb489f5 100644
--- a/src/wait/error.rs
+++ b/src/wait/error.rs
@@ -5,7 +5,7 @@ use std::time::Duration;
pub struct ProcessSignalInfo {
pub pid: nix::unistd::Pid,
pub signal: nix::sys::signal::Signal,
- pub coredump: bool
+ pub coredump: bool,
}
#[derive(Debug)]
@@ -14,10 +14,9 @@ pub enum WaitError {
ReturnNonZero(i32, nix::unistd::Pid),
Signaled(ProcessSignalInfo),
OsError(nix::Error),
- NotExited
+ NotExited,
}
-
impl From<nix::Error> for WaitError {
fn from(err: nix::Error) -> Self {
WaitError::OsError(err)
@@ -28,13 +27,20 @@ impl std::fmt::Display for WaitError {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match *self {
WaitError::TimedOut(dur) => write!(f, "process timed out in {:?}", dur),
- WaitError::ReturnNonZero(ret, pid) =>
- write!(f, "process exited with non-zero exit code ({}). was {}", ret, pid),
- WaitError::Signaled(ref info) =>
- write!(f, "process killed by {} {}. was {}",
- info.signal, if info.coredump {"(core dumped)"} else {""}, info.pid),
+ WaitError::ReturnNonZero(ret, pid) => write!(
+ f,
+ "process exited with non-zero exit code ({}). was {}",
+ ret, pid
+ ),
+ WaitError::Signaled(ref info) => write!(
+ f,
+ "process killed by {} {}. was {}",
+ info.signal,
+ if info.coredump { "(core dumped)" } else { "" },
+ info.pid
+ ),
WaitError::OsError(err) => err.fmt(f),
- WaitError::NotExited => write!(f, "process signaled, but not exited")
+ WaitError::NotExited => write!(f, "process signaled, but not exited"),
}
}
}
@@ -42,11 +48,11 @@ impl std::fmt::Display for WaitError {
impl std::error::Error for WaitError {
fn source(&self) -> Option<&(dyn std::error::Error + 'static)> {
match *self {
- WaitError::TimedOut(_) |
- WaitError::ReturnNonZero(_, _) |
- WaitError::Signaled(_) |
- WaitError::NotExited => None,
- WaitError::OsError(ref e) => Some(e)
+ WaitError::TimedOut(_)
+ | WaitError::ReturnNonZero(_, _)
+ | WaitError::Signaled(_)
+ | WaitError::NotExited => None,
+ WaitError::OsError(ref e) => Some(e),
}
}
-} \ No newline at end of file
+}