[![Latest Version]][crates.io] [![Documentation]][docs.rs] ![License]
Guard type that keeps selected Unix signals suppressed.
```rust
use uninterruptible::Uninterruptible;
// catch terminate signals (SIGTERM, SIGQUIT, SIGINT)
let u = Uninterruptible::terminate()?;
// do work, e.g. call in sub-process
u.checkpoint()?; // fails if the process recived one of the terminate signals (e.g. CTRL-C was pressed)
drop(u); // revert to default signal handlers
```
See module level documentation on [docs.rs] for more examples.
[crates.io]: https://crates.io/crates/uninterruptible
[Latest Version]: https://img.shields.io/crates/v/uninterruptible.svg
[Documentation]: https://docs.rs/uninterruptible/badge.svg
[docs.rs]: https://docs.rs/uninterruptible
[License]: https://img.shields.io/crates/l/uninterruptible.svg