From 58381ccf650d9c524e0edba1448eba97afa64d93 Mon Sep 17 00:00:00 2001 From: Kinder Joy Date: Sun, 11 Jan 2026 22:09:09 +0300 Subject: [PATCH] Fix tdx-quote-provider shutdown signal handling on non-unix --- crates/tdx-quote-provider/src/server.rs | 35 ++++++++++++++++--------- 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/crates/tdx-quote-provider/src/server.rs b/crates/tdx-quote-provider/src/server.rs index b8d5e2955..4c1bd5b7b 100644 --- a/crates/tdx-quote-provider/src/server.rs +++ b/crates/tdx-quote-provider/src/server.rs @@ -163,18 +163,29 @@ async fn attest_handler( } async fn shutdown_signal() { - let mut sigterm = signal::unix::signal(signal::unix::SignalKind::terminate()).unwrap(); - let mut sigint = signal::unix::signal(signal::unix::SignalKind::interrupt()).unwrap(); - - tokio::select! { - _ = signal::ctrl_c() => { - info!("Received Ctrl+C, shutting down gracefully"); - } - _ = sigterm.recv() => { - info!("Received SIGTERM, shutting down gracefully"); - } - _ = sigint.recv() => { - info!("Received SIGINT, shutting down gracefully"); + #[cfg(unix)] + { + let mut sigterm = signal::unix::signal(signal::unix::SignalKind::terminate()) + .expect("failed to install SIGTERM handler"); + let mut sigint = signal::unix::signal(signal::unix::SignalKind::interrupt()) + .expect("failed to install SIGINT handler"); + + tokio::select! { + _ = signal::ctrl_c() => { + info!("Received Ctrl+C, shutting down gracefully"); + } + _ = sigterm.recv() => { + info!("Received SIGTERM, shutting down gracefully"); + } + _ = sigint.recv() => { + info!("Received SIGINT, shutting down gracefully"); + } } } + + #[cfg(not(unix))] + { + let _ = signal::ctrl_c().await; + info!("Received Ctrl+C, shutting down gracefully"); + } }