Skip to content

Support synchronization primitives on Windows #2628

@RalfJung

Description

@RalfJung
Member

Thanks to @drmeepster we now do support basic concurrency and atomics on Windows (#2231). However, we do not support all of the standard library concurrency primitives. Based on my testing:

  • Mutex
    RwLock
    Condvar
    thread parking

The fact that we don't support thread parking (which is needed by std::sync::mpsc) unfortunately blocks rust-lang/rust#103681.

Activity

RalfJung

RalfJung commented on Oct 28, 2022

@RalfJung
MemberAuthor

@drmeepster if I recall, you actually had a first implementation of at least thread parking. Is that code still available somewhere?

RalfJung

RalfJung commented on Oct 28, 2022

@RalfJung
MemberAuthor

Looks like the code still exists here, in particular in 2cd61e6.

added
A-shimsArea: This affects the external function shims
A-windowsArea: affects only Windows targets
on Oct 28, 2022
added a commit that references this issue on Oct 28, 2022
added a commit that references this issue on Oct 29, 2022
RalfJung

RalfJung commented on Oct 29, 2022

@RalfJung
MemberAuthor

Thread parking is implemented now, Condvars are still missing.

added
E-good-first-issueA good way to start contributing, mentoring is available
and removed on Oct 29, 2022
beepster4096

beepster4096 commented on Oct 30, 2022

@beepster4096
Contributor

Opened #2638 for condvars

added a commit that references this issue on Nov 6, 2022
32c90ff
added a commit that references this issue on Nov 15, 2022
bf0f47b
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-shimsArea: This affects the external function shimsA-windowsArea: affects only Windows targetsE-good-first-issueA good way to start contributing, mentoring is available

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      Participants

      @RalfJung@beepster4096

      Issue actions

        Support synchronization primitives on Windows · Issue #2628 · rust-lang/miri