13 unstable releases

Uses old Rust 2015

0.7.0 Aug 10, 2019
0.6.0 Jul 23, 2018
0.5.1 Jun 1, 2018
0.4.1 Aug 24, 2017
0.1.3 Oct 19, 2015

#668 in Unix APIs

Download history 523/week @ 2024-04-20 235/week @ 2024-04-27 247/week @ 2024-05-04 251/week @ 2024-05-11 318/week @ 2024-05-18 285/week @ 2024-05-25 282/week @ 2024-06-01 243/week @ 2024-06-08 223/week @ 2024-06-15 203/week @ 2024-06-22 240/week @ 2024-06-29 256/week @ 2024-07-06 407/week @ 2024-07-13 211/week @ 2024-07-20 240/week @ 2024-07-27 324/week @ 2024-08-03

1,214 downloads per month
Used in 5 crates (4 directly)

MIT/Apache

14KB
226 lines

Rust Signal

Docs | Github | Crate

A higher-level library for handling unix signals. Currently more focused on writing process supervisors, but may be used (and extended) for other purposes too.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.


lib.rs:

Signal handling library

Docs | Github | Crate

The library is focused on higher-level abstractions for handling signals. All low-level stuff should be in nix.

Currently we have two mechanisms for handling exeptions:

  1. The exec_handler module for replacing process with newly runned command designed as crash safety measure
  2. The Trap mechanism that masks out signals and allows wait for them explicitly

Both are specifically suited for making process supervisors.

Note, masking out signals may also be achieved by trap (just don't call either wait() or next())

On TODO list:

  • signalfd

The library tested only on linux

Dependencies

~1.5MB
~36K SLoC