diff options
Diffstat (limited to 'crates/common/tedge_utils/src/signals.rs')
-rw-r--r-- | crates/common/tedge_utils/src/signals.rs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/crates/common/tedge_utils/src/signals.rs b/crates/common/tedge_utils/src/signals.rs new file mode 100644 index 00000000..7b50cd91 --- /dev/null +++ b/crates/common/tedge_utils/src/signals.rs @@ -0,0 +1,16 @@ +use std::io; + +#[cfg(not(windows))] +use tokio::signal::unix::{signal, SignalKind}; + +#[cfg(not(windows))] +pub async fn interrupt() -> io::Result<()> { + let mut signals = signal(SignalKind::interrupt())?; + let _ = signals.recv().await; + Ok(()) +} + +#[cfg(windows)] +pub async fn interrupt() -> io::Result<()> { + tokio::signal::ctrl_c().await +} |