diff options
Diffstat (limited to 'cli/signal.rs')
-rw-r--r-- | cli/signal.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/cli/signal.rs b/cli/signal.rs new file mode 100644 index 000000000..7d67ba743 --- /dev/null +++ b/cli/signal.rs @@ -0,0 +1,20 @@ +#[cfg(unix)] +use nix::sys::signal::{kill as unix_kill, Signal}; +#[cfg(unix)] +use nix::unistd::Pid; + +use crate::errors::DenoResult; + +#[cfg(unix)] +pub fn kill(pid: i32, signo: i32) -> DenoResult<()> { + use crate::errors::DenoError; + let sig = Signal::from_c_int(signo)?; + unix_kill(Pid::from_raw(pid), Option::Some(sig)).map_err(DenoError::from) +} + +#[cfg(not(unix))] +pub fn kill(_pid: i32, _signal: i32) -> DenoResult<()> { + // NOOP + // TODO: implement this for windows + Ok(()) +} |