Rustbot/src/shutdown.rs

19 lines
350 B
Rust

use tokio::{
select,
signal::unix::{
signal,
SignalKind
}
};
pub async fn gracefully_shutdown() {
let [mut s1, mut s2] = [signal(SignalKind::interrupt()).unwrap(), signal(SignalKind::hangup()).unwrap()];
select!(
v = s1.recv() => v.unwrap(),
v = s2.recv() => v.unwrap()
);
println!("\nRustbot says goodbye! 👋");
}