From c7c6f530a0cf6042f445e2fab0bd09b53b194eb0 Mon Sep 17 00:00:00 2001 From: shockrah Date: Tue, 2 Jun 2020 00:50:09 -0700 Subject: [PATCH] handling ctrl-c --- server/src/main.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/server/src/main.rs b/server/src/main.rs index e32075a..31c5183 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -66,6 +66,12 @@ async fn main_responder(request: Request) -> Result, hyper: Ok(response) } + +async fn shutdown_signal() { + tokio::signal::ctrl_c() + .await + .expect("Failed to capture ctrl-c signal"); +} #[tokio::main] async fn main() { dotenv().ok(); @@ -77,4 +83,8 @@ async fn main() { }); let server = Server::bind(&addr).serve(service); + let graceful_shutdown = server.with_graceful_shutdown(shutdown_signal()); + if let Err(e) = graceful_shutdown.await { + eprintln!("Server shutdown error: {}", e); + } }