Avoid signal-hook crate on windows (#4900)
This commit is contained in:
@ -30,7 +30,6 @@ ring = "0.13.2"
|
|||||||
serde = "1.0.94"
|
serde = "1.0.94"
|
||||||
serde_derive = "1.0.94"
|
serde_derive = "1.0.94"
|
||||||
serde_yaml = "0.8.9"
|
serde_yaml = "0.8.9"
|
||||||
signal-hook = "0.1.9"
|
|
||||||
solana-client = { path = "../client", version = "0.17.0" }
|
solana-client = { path = "../client", version = "0.17.0" }
|
||||||
solana-config-api = { path = "../programs/config_api", version = "0.17.0" }
|
solana-config-api = { path = "../programs/config_api", version = "0.17.0" }
|
||||||
solana-logger = { path = "../logger", version = "0.17.0" }
|
solana-logger = { path = "../logger", version = "0.17.0" }
|
||||||
@ -39,6 +38,9 @@ tar = "0.4.26"
|
|||||||
tempdir = "0.3.7"
|
tempdir = "0.3.7"
|
||||||
url = "1.7.2"
|
url = "1.7.2"
|
||||||
|
|
||||||
|
[target."cfg(not(windows))".dependencies]
|
||||||
|
signal-hook = "0.1.9"
|
||||||
|
|
||||||
[target."cfg(windows)".dependencies]
|
[target."cfg(windows)".dependencies]
|
||||||
winapi = "0.3.7"
|
winapi = "0.3.7"
|
||||||
winreg = "0.6"
|
winreg = "0.6"
|
||||||
|
@ -760,14 +760,15 @@ pub fn run(
|
|||||||
let mut child_option: Option<std::process::Child> = None;
|
let mut child_option: Option<std::process::Child> = None;
|
||||||
let mut now = Instant::now();
|
let mut now = Instant::now();
|
||||||
|
|
||||||
let (signal_sender, signal_receiver) = mpsc::channel();
|
let (_signal_sender, signal_receiver) = mpsc::channel();
|
||||||
if !cfg!(windows) {
|
#[cfg(not(windows))]
|
||||||
|
{
|
||||||
use signal_hook::{iterator::Signals, SIGTERM};
|
use signal_hook::{iterator::Signals, SIGTERM};
|
||||||
let signals = Signals::new(&[SIGTERM]).unwrap();
|
let signals = Signals::new(&[SIGTERM]).unwrap();
|
||||||
std::thread::spawn(move || {
|
std::thread::spawn(move || {
|
||||||
for sig in signals.forever() {
|
for sig in signals.forever() {
|
||||||
eprintln!("run: received signal {:?}", sig);
|
eprintln!("run: received signal {:?}", sig);
|
||||||
let _ = signal_sender.send(());
|
let _ = _signal_sender.send(());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user