Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1433 Some 32-bit configurations may use 64-bit time_t, which leads to different layout of userspace timespec and the one expected by SYS_futex implementation in kernel. In particular the issue occurs when using musl libc which has switched to unconditional 64-bit time_t definition. This patch introduces custom struct timespec with two longs when old SYS_futex is used to match the kernel timespec definition. Merge 2eaca415da825b3f31a90f58a35bdef2b6d2a6c5 into f8bf9091 Merging this change closes #1433 COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1433 from olegartys:futex_time64_bug 2eaca415da825b3f31a90f58a35bdef2b6d2a6c5 PiperOrigin-RevId: 528796119 Change-Id: Idaa952f64bd97c6dc9703a8b44deac43e29ff9ae
| Name |
Last commit
|
Last Update |
|---|---|---|
| .. | ||
| create_thread_identity.cc | Loading commit data... | |
| create_thread_identity.h | Loading commit data... | |
| futex.h | Loading commit data... | |
| futex_waiter.cc | Loading commit data... | |
| futex_waiter.h | Loading commit data... | |
| graphcycles.cc | Loading commit data... | |
| graphcycles.h | Loading commit data... | |
| graphcycles_benchmark.cc | Loading commit data... | |
| graphcycles_test.cc | Loading commit data... | |
| kernel_timeout.cc | Loading commit data... | |
| kernel_timeout.h | Loading commit data... | |
| kernel_timeout_test.cc | Loading commit data... | |
| per_thread_sem.cc | Loading commit data... | |
| per_thread_sem.h | Loading commit data... | |
| per_thread_sem_test.cc | Loading commit data... | |
| pthread_waiter.cc | Loading commit data... | |
| pthread_waiter.h | Loading commit data... | |
| sem_waiter.cc | Loading commit data... | |
| sem_waiter.h | Loading commit data... | |
| stdcpp_waiter.cc | Loading commit data... | |
| stdcpp_waiter.h | Loading commit data... | |
| thread_pool.h | Loading commit data... | |
| waiter.h | Loading commit data... | |
| waiter_base.cc | Loading commit data... | |
| waiter_base.h | Loading commit data... | |
| waiter_test.cc | Loading commit data... | |
| win32_waiter.cc | Loading commit data... | |
| win32_waiter.h | Loading commit data... |