mirror of
https://github.com/tokio-rs/tokio.git
synced 2026-09-08 00:00:13 +02:00
* Minimize allocation needed for channels * Use a newtype for signal ids * We can just cast the raw pointer to a `usize` and still perform a simple identity check, without incurring any implications of storing a raw pointer (e.g. previously Signal was !Sync and had an unsafe impl of Send, and now it is naturally Sync+Send) * Broadcast with `try_send` instead of `start_send` The `Stream::start_send` method uses backpressure and schedules the current task to be notified whenever the channel has additional room, which means we'll generate a lot of unnecessary wakeups whenever a channel gets full By changing to `try_send` and handling any errors, we ensure the Driver's task won't get woken up when a Signal finally consumes its notification, since we're coalescing things anyway
1008 B
1008 B
Unreleased
Changed
unix::Signalnow implementsSync
Fixes
unix::Signalnow avoids extraneous wakeups generated as a result of dropping other instances
0.2.6 - (October 26, 2018)
Changed
- Use the
signal-hookcrate for managing signal registrations
0.2.5 - (September 29, 2018)
Fixes
- Fix a possible starvation when polling multiple
Signalinstances outside of a tokio reactor (e.g. by usingFuture::wait)
0.2.4 - (August 25, 2018)
Fixes
- Actually make
unix::bsdpublic
0.2.3 - (August 25, 2018)
Features
- Exposes
SIGINFOon BSD-based operating systems.
0.2.2 - (August 14, 2018)
Fixes
- Fix starvation of
Signals whenever aSignalinstance is dropped - Fix starvation of individual
Signals based on their creation order
0.2.1 - (May 27, 2018)
Fixes
- Bump minimum supported version of
mioto 0.6.14
0.2.0 - (May 7, 2018)
Features
- Uses
tokioinstead oftokio_core - Supports all 33 signals on FreeBSD