[all-commits] [llvm/llvm-project] c35897: [libc++] fix atomic::wait memory order (#146267)
Hui via All-commits
all-commits at lists.llvm.org
Sun Jul 6 01:23:40 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: c358979d7f45fc7624abc2f14e6f36f25ac9acc0
https://github.com/llvm/llvm-project/commit/c358979d7f45fc7624abc2f14e6f36f25ac9acc0
Author: Hui <hui.xie1990 at gmail.com>
Date: 2025-07-06 (Sun, 06 Jul 2025)
Changed paths:
M libcxx/src/atomic.cpp
Log Message:
-----------
[libc++] fix atomic::wait memory order (#146267)
Fixes #109290
See the GH issue for the details. In conclusion, we have two issues in
the `atomic<T>::wait` when `T` does not match our `contention_t`:
- We don't have a total single order which can leads to missed
notification based on the Herd7 simulation on relaxed architectural like
PowerPC
- We assumed the platform wait (`futex_wait`/`__ulock_wait`) has seq_cst
barrier internally but there is no such guarantee
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list