- Use caret dependencies to allow -registry 1.3 and such.
- Extractor for the origin of a signal (PID, UID, what caused it).
- Fixing some doc links on re-exports.
- Allow turning the iterator module off (the
iterator
feature, part of default features). This would allow compiling the crate on 1.31.0.
- Bump minimal rustc version to 1.36.0 (signal-hook-registry still builds with 1.26.0).
- (Breaking) Support for exfiltrators ‒ ability to return more than just the signal number from the iterator and streams. Nothing more is implemented yet, but the place to put it is reserved in the API.
- (Breaking)
pipe::register_raw
now takes ownership and tries to use send first, falls back toO_NONBLOCK
andwrite
on failure. - (Breaking) All async support is pulled out into separate crates, to decouple
from the async runtime release cycles on the main
signal-hook
crate. - Inner parts of the
Iterator
are now exposed insignal_hook::iterator::backend
, to support the async crates.
- Drop dependency on arc-swap (only very small subset used and arc-swap would like to drop that part anyway).
- Abort instead of panicking if the OS gives us NULL as siginfo (which is illegal). Panicking would be UB.
- Fix possible blocking in signal handler registered by
Signals
.
- Make
Signals
work in edge-triggered mode in mio too, by always draining everything from the socket. Needed, because mio 0.7 doesn't have level-triggered any more.
mio-0_7-support
feature for use with mio 0.7.0+.- Bump minimal rustc version to 1.31.0 (signal-hook-registry can still build with 1.26.0).
- Some doc clarifications.
cleanup
module to register resetting signals to default.
unregister_signal
, to remove all hooks of one signal.
- Docs improvements.
- Fix registering pipes as well as sockets into the pipe module (#27).
- Update deps.
- Adding Windows support (thanks to @qnighy).
- Fix busy loop in Iterator::forever when the mio-support feature is enabled (#16).
- Include the registry files in the crates.io tarball.
- Split into backend signal-hook-registry and the frontend. The backend is much less likely to have breaking changes so it contains the things that can be in the application just once.
- The
Signals
iterator can now be closed (from another instance or thread), which can be used to shut down the thread handling signals from the main thread.
- The
Signals
iterator allows adding signals after creation. - Fixed a bug where
Signals
registrations could be unregirestered too soon if theSignals
was cloned previously.
- The internally used ArcSwap thing doesn't block other ArcSwaps now (has independent generation lock).
- Re-exported signal constants, so users no longer need libc.
- Compilation fix for android-aarch64
- Tokio support.
- Mio support.
- Dependency updates.
- Dependency updates.
- Get rid of
catch_unwind
inside the signal handler. - Link to the nix crate.
- Initial basic implementation.
- Flag helpers.
- Pipe helpers.
- High-level iterator helper.