Do not treat SIGPIPE as an error

This commit is contained in:
Ian Manske 2024-08-01 20:55:24 -07:00
parent db1ec3a7b8
commit 785aa880b1

View File

@ -31,11 +31,13 @@ impl ExitStatus {
} => {
use nix::sys::signal::Signal;
let signal_name = Signal::try_from(signal)
.map(Signal::as_str)
.unwrap_or("unknown signal")
.into();
let sig = Signal::try_from(signal);
if sig == Ok(Signal::SIGPIPE) {
// Processes often exit with SIGPIPE, but this is not an error condition.
Ok(())
} else {
let signal_name = sig.map(Signal::as_str).unwrap_or("unknown signal").into();
Err(if core_dumped {
ShellError::ProcessCoreDumped {
signal_name,
@ -52,6 +54,7 @@ impl ExitStatus {
}
}
}
}
}
#[cfg(unix)]