Expand description

A simple crate to catch signals and set a boolean flag for later use.

This crate doesn’t create threads behind the scene.

Crates.io Version GitHub stars

Example

Here is a program that sleeps until it receives three SIGINT signals.

use nix::unistd::sleep;

let mut sb = signalbool::SignalBool::new(
  &[signalbool::Signal::SIGINT], signalbool::Flag::Interrupt,
).unwrap();
let mut count = 0;

loop {
  sleep(10);
  if sb.caught() {
    println!("Caught SIGINT.");
    count += 1;
    sb.reset();
    if count == 3 {
      break;
    }
  }
}

Structs

Enums

flag controlling the restarting behavior.

Types of operating system signals