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

sync: fix sync::broadcast::Sender<T>::closed() doctest #7090

Merged
merged 1 commit into from
Jan 12, 2025

Conversation

evanrittenhouse
Copy link
Contributor

The test's previous iteration could sometimes flake since we didn't await the completion of the first task. Since the tasks only existed to move the relevant rx's in, to force a drop, we can omit them entirely and drop the rxs via drop(). This prevents any scheduling-related flakes.

Motivation

Solution

The test's previous iteration could sometimes flake since we didn't
await the completion of the first task. Since the tasks only existed to
`move` the relevant `rx`'s in, to force a drop, we can omit them
entirely and drop the `rx`s via `drop()`. This prevents any
scheduling-related flakes.
@github-actions github-actions bot added the R-loom-sync Run loom sync tests on this PR label Jan 11, 2025
@Darksonn Darksonn added A-tokio Area: The main tokio crate M-sync Module: tokio/sync labels Jan 12, 2025
Copy link
Contributor

@Darksonn Darksonn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you.

@Darksonn Darksonn merged commit 435e390 into tokio-rs:master Jan 12, 2025
92 of 94 checks passed
@evanrittenhouse evanrittenhouse deleted the evanrittenhouse/7087 branch January 12, 2025 14:02
kodiakhq bot pushed a commit to pdylanross/fatigue that referenced this pull request Mar 10, 2025
Bumps tokio from 1.43.0 to 1.44.0.

Release notes
Sourced from tokio's releases.

Tokio v1.44.0
1.44.0 (March 7th, 2025)
This release changes the from_std method on sockets to panic if a blocking socket is provided. We determined this change is not a breaking change as Tokio is not intended to operate using blocking sockets. Doing so results in runtime hangs and should be considered a bug. Accidentally passing a blocking socket to Tokio is one of the most common user mistakes. If this change causes an issue for you, please comment on #7172.
Added

coop: add task::coop module (#7116)
process: add Command::get_kill_on_drop() (#7086)
sync: add broadcast::Sender::closed (#6685, #7090)
sync: add broadcast::WeakSender (#7100)
sync: add oneshot::Receiver::is_empty() (#7153)
sync: add oneshot::Receiver::is_terminated() (#7152)

Fixed

fs: empty reads on File should not start a background read (#7139)
process: calling start_kill on exited child should not fail (#7160)
signal: fix CTRL_CLOSE, CTRL_LOGOFF, CTRL_SHUTDOWN on windows (#7122)
sync: properly handle panic during mpsc drop (#7094)

Changes

runtime: clean up magic number in registration set (#7112)
coop: make coop yield using waker defer strategy (#7185)
macros: make select! budget-aware (#7164)
net: panic when passing a blocking socket to from_std (#7166)
io: clean up buffer casts (#7142)

Changes to unstable APIs

rt: add before and after task poll callbacks (#7120)
tracing: make the task tracing API unstable public (#6972)

Documented

docs: fix nesting of sections in top-level docs (#7159)
fs: rename symlink and hardlink parameter names (#7143)
io: swap reader/writer in simplex doc test (#7176)
macros: docs about select! alternatives (#7110)
net: rename the argument for send_to (#7146)
process: add example for reading Child stdout (#7141)
process: clarify Child::kill behavior (#7162)
process: fix grammar of the ChildStdin struct doc comment (#7192)
runtime: consistently use worker_threads instead of core_threads (#7186)

#6685: tokio-rs/tokio#6685
#6972: tokio-rs/tokio#6972
#7086: tokio-rs/tokio#7086
#7090: tokio-rs/tokio#7090


... (truncated)


Commits

8182ecf chore: prepare Tokio v1.44.0 (#7202)
a258bff ci: enable printing in multi thread loom tests (#7200)
e076d21 process: clarify Child::kill behavior (#7162)
042433c net: debug_assert on creating a tokio socket from a blocking one (#7166)
0284d1b macros: make select! budget-aware (#7164)
710bc80 rt: coop should yield using waker defer strategy (#7185)
a2b12bd readme: adjust release schedule to once per month (#7191)
e7b593c process: fix grammar of the ChildStdin struct doc comment (#7192)
3aaf4a5 coop: adjust grammar in tests/coop_budget.rs (#7173)
8e741c1 tokio: mark 1.43 as LTS (#7189)
Additional commits viewable in compare view




Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

@dependabot rebase will rebase this PR
@dependabot recreate will recreate this PR, overwriting any edits that have been made to it
@dependabot merge will merge this PR after your CI passes on it
@dependabot squash and merge will squash and merge this PR after your CI passes on it
@dependabot cancel merge will cancel a previously requested merge and block automerging
@dependabot reopen will reopen this PR if it is closed
@dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
@dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
@dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-tokio Area: The main tokio crate M-sync Module: tokio/sync R-loom-sync Run loom sync tests on this PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants