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