Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: prepare Tokio v1.13.1 #4235

merged 3 commits into from
Nov 15, 2021

chore: prepare Tokio v1.13.1 #4235

merged 3 commits into from
Nov 15, 2021


Copy link

@hawkw hawkw commented Nov 15, 2021

This backports #4226 and #4229 to tokio-v1.13.x and prepares a release for v1.13.1.

This should be rebase merged so that we have separate commits in the history for the backports and release prep.

Depends on #4226

## Motivation

Currently, the safety invariants and synchronization strategy used in
`tokio::sync::oneshot` are not particularly obvious, especially to a new
reader. It would be nice to better document this code to make these
invariants clearer.

## Solution

This branch adds `SAFETY:` comments to the `oneshot` channel
implementation. In particular, I've focused on documenting the
invariants around when the inner `UnsafeCell` that stores the value can
be accessed by the sender and receiver sides of the channel.

I still want to take a closer look at when the waker cells can be set,
and I'd like to add more documentation there in a follow-up branch.

Signed-off-by: Eliza Weisman <>
# 1.13.1 (November 15, 2021)

### Fixed

- sync: fix a data race between `oneshot::Sender::send` and awaiting a
  `oneshot::Receiver` when the oneshot has been closed ([#4226])

[#4226]: #4226
@Darksonn Darksonn added the A-tokio Area: The main tokio crate label Nov 15, 2021
@hawkw hawkw merged commit 2a3c803 into tokio-1.13.x Nov 15, 2021
@hawkw hawkw deleted the eliza/1.13.1 branch November 15, 2021 22:04
@hawkw hawkw mentioned this pull request Nov 15, 2021
hawkw added a commit that referenced this pull request Nov 16, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
A-tokio Area: The main tokio crate
None yet

Successfully merging this pull request may close these issues.

None yet

2 participants