Files
tokio/CHANGELOG.md
T
Ivan Petkov 605708dca6 signal: Fix a possible starvation with concurrent Signal polls
* Originally reported in alexcrichton/tokio-process#42
* The root cause appears to be due to two different PollEvented
instances trying to consume readiness events from the same file
descriptor.
* Previously we would simply swallow any `AlreadyExists` errors when
attempting to register the pipe receiver with the event loop. I'm not
sure if this means the PollEvented wrapper wasn't fully registered to
receive events, or maybe there is a potential race condition with how
PollEvented consumes mio readiness events. Using a fresh/duplicate file
descriptor appears to mitigate the issue, however.
* I was also not able to reproduce the issue as an isolated test case so
there is no regression test available within this crate (but we can add
one in tokio-process)
2018-09-14 23:25:08 +02:00

1.3 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

Unreleased

Fixes

  • Fix a possible starvation when polling multiple Signal instances outside of a tokio reactor (e.g. by using Future::wait)

0.2.4 - 2018-08-25

Fixes

  • Actually make unix::bsd public

0.2.3 - 2018-08-25

Features

  • Exposes SIGINFO on BSD-based operating systems. (#46)

0.2.2 - 2018-08-14

Fixes

  • Fix starvation of Signals whenever a Signal instance is dropped
  • Fix starvation of individual Signals based on their creation order

0.2.1 - 2018-05-27

Fixes

  • Bump minimum supported version of mio to 0.6.14

0.2.0 - 2018-05-07

Features

  • Uses tokio instead of tokio_core (#24)
  • Supports all 33 signals on FreeBSD (#27)