[all-commits] [llvm/llvm-project] 6e22b5: [libc++] Fix `std::atomic::wait` ulock wait UL_COM...
Hui via All-commits
all-commits at lists.llvm.org
Sat Jun 1 13:12:26 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 6e22b538da4b09efb10a59582a3f43d8128ae7d1
https://github.com/llvm/llvm-project/commit/6e22b538da4b09efb10a59582a3f43d8128ae7d1
Author: Hui <hui.xie1990 at gmail.com>
Date: 2024-06-01 (Sat, 01 Jun 2024)
Changed paths:
M libcxx/src/atomic.cpp
A libcxx/test/libcxx/atomics/atomics.syn/wait.pass.cpp
Log Message:
-----------
[libc++] Fix `std::atomic::wait` ulock wait UL_COMPARE_AND_WAIT64 (#92783)
in `atomic::wait`, when we call the platform wait ulock_wait , we are
using UL_COMPARE_AND_WAIT. But we should use UL_COMPARE_AND_WAIT64
instead as the address we are waiting for is a 64 bit integer.
fixes https://github.com/llvm/llvm-project/issues/85107
It is rather hard to test directly because in `atomic::wait`, before
calling into the platform wait, our c++ code has some poll logic which
checks the value not changing. Thus in this patch, the test is using the
internal function.
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