- Documentation about SIGBUS (#204).
- Don't exclude .c files from release package.
- Fix double-close on pipe unregister (#200).
- Don't include development scripts in release package (195).
- Release to bump dependency on signal-hook.
- Don't pin specific dependency versions accidentally.
- Changed the
low_level::pipeto lookOwnedFdinstead ofIntoRawFd, to enforce ownership of the file descriptor (#196).
- Restore errno on signal handler exit (#194, #191).
- Using earlier monopolization to reduce binary size (#190).
- Allow mio 1.1
- Reword/improve the safety requirements docs for register (#178).
- Release the special-case removal of AIX for top-level signal-hook too (#169, #176).
- Bump async-std to 0.2 (#172).
- Fix windows build (#174).
- Get rid of a warning.
- Remove special-case for AIX (#169).
- Support for mio 1.0
- NQX support (experimental/not guaranteed to work) (#158)
- By disabling
SA_RESTARTon that platform, not supported there.
- By disabling
- Fix race condition leading into a panic in SignalsInfo::forever (#148).
- Fix compilation on OpenBSD (#147).
- AIX support (experimental/not guaranteed to work).
- Added the SIGINFO signal (where available).
- Support for mio 0.8
- Fix support for SignalsInfo with non-default info extractors.
- Add haiku support.
- Fix accidentally broken windows build.
- Provide fallback sigaddset, sigemptyset on certain androids, as they are missing them.
- Doc link fixes.
- Deliver SIGCHLD even on stop/continue.
- Fix docs.rs build.
- Unmask a signal in default emulation if it is termination.
- The same fix, but for the 0.6 support 😇.
- Fix example: handle ErrorKind::Interrupted inside poll. It's very likely to happen, when we are waiting for signals there.
- Fix the labels on docs.rs :-|.
- Doc: include the features & these little labels inside docs.
- Dependency updates ‒ no longer depends on the whole async-std, but only on
some smaller dependencies of it (
async-io,futures-lite). This might make it work even outside of async-std context.
- Support for tokio 1.0.
- Fix feature dependencies (
iteratordepends onchannel).
low_level::emulate_default_handlerto emulate whatever default handler would do.low_level::signal_nameto look up human readable name.- The
Origin's debug output now contains the human readable name of the signal.
- Allow extracting Origin from the raw
siginfo_tstructure by hand, without needing an iterator. - Folding the signal-hook-sys inline (but still compiling C code only conditionally).
WithRawSiginfoextractor (to get hands on the rawsiginfo_t).- Bugfix: Don't leak on WithOrigin destruction.
- Use caret dependencies where appropriate (to allow upgrades on signal-hook-registry).
- No longer depends on
futures.
- The
cleanupmodule is gone, it was not a good API. Replaced by conditional termination inflag. - Some abstractions/patterns are moved to
low_levelsubmodule, as they are considered building blocks, not for direct use (register,pipe,channel). - The signal constants are moved to a submodule (
consts), together with few more constants, to not clutter the root. - The forever iterator no longer consumes.
- The
unregister_signalin is deprecated, without a replacement.
- 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
iteratorfeature, 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_rawnow takes ownership and tries to use send first, falls back toO_NONBLOCKandwriteon failure. - (Breaking) All async support is pulled out into separate crates, to decouple
from the async runtime release cycles on the main
signal-hookcrate. - Inner parts of the
Iteratorare 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
Signalswork 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-supportfeature 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.
cleanupmodule 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
Signalsiterator 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
Signalsiterator allows adding signals after creation. - Fixed a bug where
Signalsregistrations could be unregirestered too soon if theSignalswas 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_unwindinside the signal handler. - Link to the nix crate.
- Initial basic implementation.
- Flag helpers.
- Pipe helpers.
- High-level iterator helper.