| 164 | launder the value sequence through an atomic from our table. */ |
| 165 | |
| 166 | static void __libcpp_atomic_notify(void const volatile* __location) { |
| 167 | auto const __entry = __libcpp_contention_state(__location); |
| 168 | // The value sequence laundering happens on the next line below. |
| 169 | __cxx_atomic_fetch_add(&__entry->__platform_state, __cxx_contention_t(1), memory_order_seq_cst); |
| 170 | __libcpp_contention_notify( |
| 171 | &__entry->__contention_state, |
| 172 | &__entry->__platform_state, |
| 173 | false /* when laundering, we can't handle notify_one */); |
| 174 | } |
| 175 | _LIBCPP_EXPORTED_FROM_ABI void __cxx_atomic_notify_one(void const volatile* __location) noexcept { |
| 176 | __libcpp_atomic_notify(__location); |
| 177 | } |
no test coverage detected