
@jonhoo reported a panic in the call to `LocalKey::with`, which occurs when the reactor is dropped in the middle of TLS teardown. This PR changes the call to `LocalKey::try_with` and handles the case when the thread-local value has already been destroyed.
tokio-reactor
Event loop that drives Tokio I/O resources.
Overview
The reactor is the engine that drives asynchronous I/O resources (like TCP and
UDP sockets). It is backed by mio
and acts as a bridge between mio
and
futures
.
The crate provides:
-
Reactor
is the main type of this crate. It performs the event loop logic. -
Handle
provides a reference to a reactor instance. -
Registration
andPollEvented
allow third parties to implement I/O resources that are driven by the reactor.
Application authors will not use this crate directly. Instead, they will use the
tokio
crate. Library authors should only depend on tokio-reactor
if they
are building a custom I/O resource.
License
This project is licensed under the MIT license.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Tokio by you, shall be licensed as MIT, without any additional terms or conditions.