From dd59cd3564e7f1425f86bed0db04ee0276d3f73f Mon Sep 17 00:00:00 2001 From: Jose Quintana Date: Thu, 11 Feb 2021 03:08:38 +0100 Subject: [PATCH] refactor: specify target os for signals handling --- Cargo.toml | 6 ++++-- src/server.rs | 13 ++++++++++++- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 1cbd5f8..0a9c641 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -35,12 +35,14 @@ iron-cors = "0.8" log = "0.4" mime = "0.2" mime_guess = "1.8" -nix = "0.14" -signal = "0.7" structopt = { version = "0.3", default-features = false } time = "0.1" url = "1.4" +[target.'cfg(not(windows))'.dependencies.nix] +version = "0.14" +[target.'cfg(not(windows))'.dependencies.signal] +version = "0.7" [target.'cfg(all(target_env = "musl", target_pointer_width = "64"))'.dependencies.jemallocator] version = "0.3" diff --git a/src/server.rs b/src/server.rs index 4b47dd6..2550d32 100644 --- a/src/server.rs +++ b/src/server.rs @@ -1,7 +1,6 @@ use hyper_native_tls::NativeTlsServer; use iron::{Chain, Iron, Listening}; -use crate::signal_manager; use crate::staticfile_middleware::HttpToHttpsRedirect; use crate::staticfiles::*; use crate::{config::Options, logger}; @@ -91,6 +90,13 @@ fn on_server_running(server_name: &str, running_servers: &[RunningServer]) { )) }); + handle_signals() +} + +#[cfg(not(windows))] +fn handle_signals() { + use crate::signal_manager; + // Wait for incoming signals (E.g Ctrl+C (SIGINT), SIGTERM, etc signal_manager::wait_for_signal(|sig: signal::Signal| { let code = signal_manager::signal_to_int(sig); @@ -100,3 +106,8 @@ fn on_server_running(server_name: &str, running_servers: &[RunningServer]) { std::process::exit(code) }) } + +#[cfg(windows)] +fn handle_signals() { + println!("TODO: Windows signals...") +} -- libgit2 1.7.2