-
Notifications
You must be signed in to change notification settings - Fork 353
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
Implement condvars for Windows #2638
Conversation
I think this panic is caused by a mistake in #2601. |
CI failure should be fixed by #2641. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Generally looks good, thanks! Mostly stylistic comments.
InitOnce: synchronize with completion when already complete The completion of an InitOnce happens-before the threads waiting on it wake up. However, this is not the case for threads that call `InitOnceBeginInitialize` after the completion, leading to data races and outdated weak memory loads as observed in the CI for #2638. This PR fixes this.
That PR landed, so please rebase this one. :) |
6a252a9
to
1ac1dd7
Compare
The rebase is done. CI's finally passing :) |
Great. :) Please squash the commits a little, then we can land this. |
1ac1dd7
to
958ca31
Compare
Squashed. |
@bors r+ |
☀️ Test successful - checks-actions |
update Miri Notable PRs: - rust-lang/miri#2636 - rust-lang/miri#2641 - rust-lang/miri#2638
Implement condvars for Windows Adds 3 shims for Windows: `SleepConditionVariableSRW`, `WakeConditionVariable`, `WakeAllConditionVariable` to add support for condvars (which fixes rust-lang#2628). Salvaged from what was removed from rust-lang#2231
update Miri Notable PRs: - rust-lang#2636 - rust-lang#2641 - rust-lang#2638
update Miri Notable PRs: - rust-lang/miri#2636 - rust-lang/miri#2641 - rust-lang/miri#2638
Adds 3 shims for Windows:
SleepConditionVariableSRW
,WakeConditionVariable
,WakeAllConditionVariable
to add support for condvars (which fixes #2628).Salvaged from what was removed from #2231