diff options
author | Thomas Rodgers <rodgert@appliantology.com> | 2022-02-10 10:12:36 -0800 |
---|---|---|
committer | Thomas Rodgers <rodgert@appliantology.com> | 2022-02-10 10:14:36 -0800 |
commit | b25a7c05f120e46a60430dcefe529c72303b7022 (patch) | |
tree | 8151ca6aaa878e3447dfc95227785949e6d45b86 | |
parent | c22f3fb780775b91548e32937a3ce1095a7c72a3 (diff) | |
download | gcc-b25a7c05f120e46a60430dcefe529c72303b7022.zip gcc-b25a7c05f120e46a60430dcefe529c72303b7022.tar.gz gcc-b25a7c05f120e46a60430dcefe529c72303b7022.tar.bz2 |
libstdc++: Strengthen memory order for atomic<T>::wait/notify
This changes the memory order used in the spin wait code to match
that of libc++.
libstdc++-v3/ChangeLog:
* include/bits/atomic_wait.h (__waiter_base::_S_do_spin,
__waiter_base::_S_do_spin_v): Change memory order from relaxed
to acquire.
-rw-r--r-- | libstdc++-v3/include/bits/atomic_wait.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libstdc++-v3/include/bits/atomic_wait.h b/libstdc++-v3/include/bits/atomic_wait.h index 6ce7f93..125b1ca 100644 --- a/libstdc++-v3/include/bits/atomic_wait.h +++ b/libstdc++-v3/include/bits/atomic_wait.h @@ -332,7 +332,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION } else { - __atomic_load(__addr, &__val, __ATOMIC_RELAXED); + __atomic_load(__addr, &__val, __ATOMIC_ACQUIRE); } return __atomic_spin(__pred, __spin); } @@ -353,7 +353,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION __platform_wait_t& __val, _Spin __spin = _Spin{ }) { - __atomic_load(__addr, &__val, __ATOMIC_RELAXED); + __atomic_load(__addr, &__val, __ATOMIC_ACQUIRE); return __atomic_spin(__pred, __spin); } |