Do not treat SIGPIPE as an error
This commit is contained in:
parent
db1ec3a7b8
commit
785aa880b1
|
@ -31,24 +31,27 @@ impl ExitStatus {
|
||||||
} => {
|
} => {
|
||||||
use nix::sys::signal::Signal;
|
use nix::sys::signal::Signal;
|
||||||
|
|
||||||
let signal_name = Signal::try_from(signal)
|
let sig = Signal::try_from(signal);
|
||||||
.map(Signal::as_str)
|
|
||||||
.unwrap_or("unknown signal")
|
|
||||||
.into();
|
|
||||||
|
|
||||||
Err(if core_dumped {
|
if sig == Ok(Signal::SIGPIPE) {
|
||||||
ShellError::ProcessCoreDumped {
|
// Processes often exit with SIGPIPE, but this is not an error condition.
|
||||||
signal_name,
|
Ok(())
|
||||||
signal,
|
|
||||||
span,
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
ShellError::ProcessSignaled {
|
let signal_name = sig.map(Signal::as_str).unwrap_or("unknown signal").into();
|
||||||
signal_name,
|
Err(if core_dumped {
|
||||||
signal,
|
ShellError::ProcessCoreDumped {
|
||||||
span,
|
signal_name,
|
||||||
}
|
signal,
|
||||||
})
|
span,
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
ShellError::ProcessSignaled {
|
||||||
|
signal_name,
|
||||||
|
signal,
|
||||||
|
span,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user