summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2022-01-09 22:27:35 -0500
committerJesse Luehrs <doy@tozt.net>2022-01-09 22:27:35 -0500
commit86e27af63289d7b7687a0e9714463ad0b240eb2e (patch)
tree942fb7d1286ea6d48dbb1dbfabca5ade32a4a6f7
parent1828befaa335ad512a2f938f29c14f789eb4748a (diff)
downloadnbsh-86e27af63289d7b7687a0e9714463ad0b240eb2e.tar.gz
nbsh-86e27af63289d7b7687a0e9714463ad0b240eb2e.zip
restore the behavior of propagating SIGINT
-rw-r--r--src/pipeline/mod.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/pipeline/mod.rs b/src/pipeline/mod.rs
index 5f949f4..51f1987 100644
--- a/src/pipeline/mod.rs
+++ b/src/pipeline/mod.rs
@@ -371,6 +371,13 @@ async fn wait_children(
}
nix::sys::wait::WaitStatus::Signaled(pid, signal, _) => {
let (_, last) = children.remove(&pid).unwrap();
+ if signal == nix::sys::signal::Signal::SIGINT {
+ if let Err(e) = nix::sys::signal::raise(
+ nix::sys::signal::Signal::SIGINT,
+ ) {
+ bail!(e);
+ }
+ }
// this conversion is safe because the Signal enum is
// repr(i32)
#[allow(clippy::as_conversions)]