diff options
author | Jesse Luehrs <doy@tozt.net> | 2022-01-09 22:27:35 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2022-01-09 22:27:35 -0500 |
commit | 86e27af63289d7b7687a0e9714463ad0b240eb2e (patch) | |
tree | 942fb7d1286ea6d48dbb1dbfabca5ade32a4a6f7 | |
parent | 1828befaa335ad512a2f938f29c14f789eb4748a (diff) | |
download | nbsh-86e27af63289d7b7687a0e9714463ad0b240eb2e.tar.gz nbsh-86e27af63289d7b7687a0e9714463ad0b240eb2e.zip |
restore the behavior of propagating SIGINT
-rw-r--r-- | src/pipeline/mod.rs | 7 |
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)] |