Skip to content

Invalid memory ordering in thread park / unpark #53366

Closed

Description

I'm pretty sure that the memory orderings uses in the thread park / unpark are incorrect. They happen to work on x86 due to the generated ASM being stronger than the spec, but it will doubtfully work on other architectures.

There are a few locations where a store is used with SeqCst assuming that this would "acquire", but this is not the case. For example here

I discovered this issue when a PR was provided to copy the Rust code into Tokio.

See the discussion here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions