signal-msg

Crates.iosignal-msg
lib.rssignal-msg
version0.2.1
sourcesrc
created_at2020-02-23 18:39:00.115081
updated_at2020-02-23 23:10:06.89233
descriptionHandle UNIX process signals with a shared channel (uses simple-signal)
homepage
repositoryhttps://github.com/oxur/signal-msg
max_upload_size
id211824
size8,390
Duncan McGreggor (oubiwann)

documentation

https://docs.rs/signal-msg/

README

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

Commit count: 16

cargo fmt