Update signal-hook to version 0.3.0
The dependency on version v0.1.16 of signal-hook makes this library impossible to use in a project alongside signal-hook version v0.3.0. This is caused by an arguably incorrect dependency from signal-hook v0.1.16 on `~1.2` of signal-hook-registry (I think it should just depend on `^1.2` instead), however it seemed more beneficial overall to upgrade this crate's dependency instead.
This commit is contained in:
parent
db789922f7
commit
ae865efb27
|
@ -20,7 +20,11 @@ once_cell = "1.4.1"
|
|||
|
||||
[target.'cfg(unix)'.dependencies]
|
||||
async-io = "1.0.0"
|
||||
signal-hook = { version = "0.1.16", default-features = false }
|
||||
|
||||
[target.'cfg(unix)'.dependencies.signal-hook]
|
||||
version = "0.3.0"
|
||||
features = ["iterator"]
|
||||
default-features = false
|
||||
|
||||
[target.'cfg(windows)'.dependencies]
|
||||
blocking = "1.0.0"
|
||||
|
|
10
src/lib.rs
10
src/lib.rs
|
@ -186,9 +186,11 @@ impl Child {
|
|||
}
|
||||
|
||||
} else if #[cfg(unix)] {
|
||||
static SIGNALS: Lazy<signal_hook::iterator::Signals> = Lazy::new(|| {
|
||||
signal_hook::iterator::Signals::new(&[signal_hook::SIGCHLD])
|
||||
.expect("cannot set signal handler for SIGCHLD")
|
||||
static SIGNALS: Lazy<Mutex<signal_hook::iterator::Signals>> = Lazy::new(|| {
|
||||
Mutex::new(
|
||||
signal_hook::iterator::Signals::new(&[signal_hook::consts::SIGCHLD])
|
||||
.expect("cannot set signal handler for SIGCHLD"),
|
||||
)
|
||||
});
|
||||
|
||||
// Make sure the signal handler is registered before interacting with the process.
|
||||
|
@ -196,7 +198,7 @@ impl Child {
|
|||
|
||||
// Waits for the next SIGCHLD signal.
|
||||
fn wait_sigchld() {
|
||||
SIGNALS.forever().next();
|
||||
SIGNALS.lock().unwrap().forever().next();
|
||||
}
|
||||
|
||||
// Wraps a sync I/O type into an async I/O type.
|
||||
|
|
Loading…
Reference in New Issue