diff --git a/src/client.rs b/src/client.rs index 3ce4afb..2ddafa0 100644 --- a/src/client.rs +++ b/src/client.rs @@ -204,7 +204,7 @@ pub async fn client_entrypoint( Ok(mut client) => { info!("Client {:?} connected (plain)", addr); - if client.is_admin() { + if !client.is_admin() { let _ = drain.send(1).await; } @@ -229,7 +229,7 @@ pub async fn client_entrypoint( Ok(mut client) => { info!("Client {:?} issued a cancel query request", addr); - if client.is_admin() { + if !client.is_admin() { let _ = drain.send(1).await; } diff --git a/src/main.rs b/src/main.rs index a0c1d7c..7815040 100644 --- a/src/main.rs +++ b/src/main.rs @@ -221,13 +221,16 @@ async fn main() { interval.tick().await; // We're done waiting. - error!("Timed out waiting for clients"); + error!("Graceful shutdown timed out. {} active clients being closed", total_clients); let _ = exit_tx.send(()).await; }); }, - _ = term_signal.recv() => break, + _ = term_signal.recv() => { + info!("Got SIGTERM, closing with {} clients active", total_clients); + break; + }, new_client = listener.accept() => { let (socket, addr) = match new_client {