[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