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

native: Fix a race in select() #13512

Closed
wants to merge 3 commits into from

Conversation

alexcrichton
Copy link
Member

I also did a few small cleanups along the way (separated by commit)

Closes #13494

Trying to avoid a wildcard where possible.
During selection, libnative would erroneously re-acquire ownership of a task
when a separate thread still had ownership of the task. The loop in select()
was rewritten to acknowledge this race and instead block waiting to re-acquire
ownership rather than plowing through.

Closes rust-lang#13494
@flaper87
Copy link
Contributor

Looks good to me. I also added the Closes tag to the PR

alexcrichton added a commit to alexcrichton/rust that referenced this pull request Apr 16, 2014
Closes rust-lang#13546 (workcache: Don't assume gcc exists on all platforms)
Closes rust-lang#13545 (std: Remove pub use globs)
Closes rust-lang#13530 (test: Un-ignore smallest-hello-world.rs)
Closes rust-lang#13529 (std: Un-ignore some float tests on windows)
Closes rust-lang#13528 (green: Add a helper macro for booting libgreen)
Closes rust-lang#13526 (Remove RUST_LOG="::help" from the docs)
Closes rust-lang#13524 (dist: Make Windows installer uninstall first. Closes rust-lang#9563)
Closes rust-lang#13521 (Change AUTHORS section in the man pages)
Closes rust-lang#13519 (Update GitHub's Rust projects page.)
Closes rust-lang#13518 (mk: Change windows to install from stage2)
Closes rust-lang#13516 (liburl doc: insert missing hyphen)
Closes rust-lang#13514 (rustdoc: Better sorting criteria for searching.)
Closes rust-lang#13512 (native: Fix a race in select())
Closes rust-lang#13506 (Use the unsigned integer types for bitwise intrinsics.)
Closes rust-lang#13502 (Add a default impl for Set::is_superset)
@alexcrichton alexcrichton deleted the issue-13494 branch April 16, 2014 07:59
Dylan-DPC pushed a commit to Dylan-DPC/rust that referenced this pull request Nov 1, 2022
flip1995 pushed a commit to flip1995/rust that referenced this pull request Oct 18, 2024
`infinite_loop`: continuing an outer loop leaves the inner loop

changelog: [`infinite_loop`]: detect a `continue` targeting an outer loop

Fix rust-lang#13511
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

oneshot timer fails in select! if timeout is large value or 0
4 participants