mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-02 09:20:22 +08:00
16 lines
438 B
Rust
16 lines
438 B
Rust
|
|
#[cfg(unix)]
|
||
|
|
pub async fn wait_for_shutdown_signal() -> Result<(), std::io::Error> {
|
||
|
|
use tokio::signal::unix::{signal, SignalKind};
|
||
|
|
|
||
|
|
let mut terminate = signal(SignalKind::terminate())?;
|
||
|
|
tokio::select! {
|
||
|
|
_ = tokio::signal::ctrl_c() => Ok(()),
|
||
|
|
_ = terminate.recv() => Ok(()),
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
#[cfg(not(unix))]
|
||
|
|
pub async fn wait_for_shutdown_signal() -> Result<(), std::io::Error> {
|
||
|
|
tokio::signal::ctrl_c().await
|
||
|
|
}
|