Rustbot/src/shutdown.rs

19 lines
350 B
Rust
Raw Normal View History

2024-11-27 21:50:28 +11:00
use tokio::{
select,
signal::unix::{
signal,
SignalKind
}
};
pub async fn gracefully_shutdown() {
2024-12-12 03:01:44 +11:00
let [mut s1, mut s2] = [signal(SignalKind::interrupt()).unwrap(), signal(SignalKind::hangup()).unwrap()];
2024-11-27 21:50:28 +11:00
select!(
v = s1.recv() => v.unwrap(),
2024-12-12 03:01:44 +11:00
v = s2.recv() => v.unwrap()
2024-11-27 21:50:28 +11:00
);
println!("\nRustbot says goodbye! 👋");
}