1 2 3 4 5 6 7 8 9 10 11 12 13
use std::panic; pub fn install_sigpipe_hook() { let hook = panic::take_hook(); panic::set_hook(Box::new(move |info| { if let Some(res) = info.payload().downcast_ref::<String>() { if res.contains("Broken pipe") { return; } } hook(info) })); }