diff --git a/node/src/main.rs b/node/src/main.rs index 8742e097a34..da6838635a2 100644 --- a/node/src/main.rs +++ b/node/src/main.rs @@ -26,7 +26,7 @@ fn main() { async fn main_inner() { env_logger::init(); - let cancel_token = shutdown_token(); + let cancel_token = CancellationToken::new(); let env_vars = Arc::new(EnvVars::from_env().unwrap()); let opt = opt::Opt::parse(); @@ -65,39 +65,3 @@ async fn main_inner() { ) .await; } - -fn shutdown_token() -> CancellationToken { - use tokio::signal; - - let cancel_token = CancellationToken::new(); - let cancel_token_clone = cancel_token.clone(); - - async fn shutdown_signal_handler() { - let ctrl_c = async { - signal::ctrl_c().await.unwrap(); - }; - - #[cfg(unix)] - let terminate = async { - signal::unix::signal(signal::unix::SignalKind::terminate()) - .unwrap() - .recv() - .await; - }; - - #[cfg(not(unix))] - let terminate = std::future::pending::<()>(); - - tokio::select! { - _ = ctrl_c => {}, - _ = terminate => {}, - }; - } - - tokio::spawn(async move { - shutdown_signal_handler().await; - cancel_token_clone.cancel(); - }); - - cancel_token -}