#signals #signal #unix

signal-msg

Handle UNIX process signals with a shared channel (uses simple-signal)

3 unstable releases

0.2.1 Feb 23, 2020
0.2.0 Feb 23, 2020
0.1.0 Feb 23, 2020

#920 in Unix APIs

MIT license

6KB
65 lines

signal-msg

Handle UNIX process signals with a shared channel (uses simple-signal)

About

This project aims to make simple signal handling even simpler: just use messages. Since passing objects into an anonymous function signal handler can get tricky, signal-msg offers an alternative approach of listening for signals on a receiver.

This library was created for ease of use when setting up examples that needed a quick and easy setup for signal handling, providing a message-based solution around the simple-signal library. A more robust (if also more verbose) solution is possible when using the signal-hook library.

Similar functionality to signal-msg is provided by the signal-notify and chan-signal libraries (note, though, that the latter is deprecated).)

Usage

use signal_msg::{self, SignalReceiver, SignalSender};

fn main() {
    let (signal_sender, signal_receiver) = signal_msg::new();
    signal_sender.prepare_signals();
    println!("Waiting for a signal...");
    let sig = signal_receiver.listen();
    println!("Got signal: {:?}", sig.unwrap());
}

Credits

The project logo is derived from the "signpost" icon in the motorway icon set by Freepik.

License

Copyright © 2020, Oxur Group

MIT License

Dependencies

~52KB