From 92da9d71f8f0745b26c4dab654c6d5eabe6eb865 Mon Sep 17 00:00:00 2001 From: Greg Heartsfield Date: Wed, 28 Sep 2022 07:20:31 -0500 Subject: [PATCH] feat: handle and log TERM signals --- src/server.rs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/server.rs b/src/server.rs index d6d7ea1..b688aca 100644 --- a/src/server.rs +++ b/src/server.rs @@ -150,9 +150,11 @@ async fn handle_web_request( // return on a control-c or internally requested shutdown signal async fn ctrl_c_or_signal(mut shutdown_signal: Receiver<()>) { + let mut term_signal = tokio::signal::unix::signal(tokio::signal::unix::SignalKind::terminate()) + .expect("could not define signal"); loop { tokio::select! { - _ = shutdown_signal.recv() => { + _ = shutdown_signal.recv() => { info!("Shutting down webserver as requested"); // server shutting down, exit loop break; @@ -160,7 +162,12 @@ async fn ctrl_c_or_signal(mut shutdown_signal: Receiver<()>) { _ = tokio::signal::ctrl_c() => { info!("Shutting down webserver due to SIGINT"); break; - } + }, + _ = term_signal.recv() => { + info!("Shutting down webserver due to SIGTERM"); + break; + }, + } } }