diff --git a/src/lib/shell/mod.rs b/src/lib/shell/mod.rs index 8f11e3247b0cebd2204f60929b99e558490b1d89..479af14c88a8bad9d555e7ebe8e29309b7bf9dc7 100644 --- a/src/lib/shell/mod.rs +++ b/src/lib/shell/mod.rs @@ -48,7 +48,6 @@ use nix::{ }; use std::{ fs::File, - io::{self, Write}, mem, ops::{Deref, DerefMut}, rc::Rc, @@ -178,17 +177,10 @@ impl<'a> Shell<'a> { signals::PENDING.store(signal as usize, Ordering::SeqCst); } - extern "C" fn sigpipe_handler(signal: i32) { - let _ = io::stdout().flush(); - let _ = io::stderr().flush(); - unsafe { nix::libc::_exit(127 + signal) }; - } - unsafe { let _ = signal::signal(signal::Signal::SIGHUP, SigHandler::Handler(handler)); let _ = signal::signal(signal::Signal::SIGINT, SigHandler::Handler(handler)); let _ = signal::signal(signal::Signal::SIGTERM, SigHandler::Handler(handler)); - let _ = signal::signal(signal::Signal::SIGPIPE, SigHandler::Handler(sigpipe_handler)); } }