Skip to content

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

License

Notifications You must be signed in to change notification settings

oxur/signal-msg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages