-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
All atomic exchanges with _Api_level should be acq_rel #4288
Conversation
0a52f4f
to
5bde50e
Compare
@CaseyCarter Fixed! |
3888812
to
ce0f6e1
Compare
As _Api_level is not always accessed with sequential ordering, and _Level is thread-local, acq_rel is good enough for all compare_exchange successes. However, this means we need to explicitly mention acquire for the failure case.
Hmm... I wonder what happened to your environment. Is there anything enforcing to force-push a single commit? |
Thanks, this is a good change, and is consistent with the very similar code in tzdb.cpp: Lines 57 to 58 in 87580ca
I'd still like to understand why you keep force-pushing and ignoring our requests to avoid doing so, but that shouldn't block merging this change. At least GitHub started providing a "Compare" button, although it's still harder to see what's changed over time than with the ordinary commits that everyone else uses. |
I'm mirroring this to the MSVC-internal repo - please notify me if any further changes are pushed. |
Thanks for improving the consistency of these atomic operations by avoiding full sequential consistency! 😹 ☢️ 🎉 |
As _Api_level is not always accessed with sequential ordering, and _Level is thread-local, acq_rel is good enough for all compare_exchange successes. However, this means we need to explicitly mention acquire for the failure case.