summaryrefslogtreecommitdiff
path: root/absl/synchronization/internal/futex.h
diff options
context:
space:
mode:
Diffstat (limited to 'absl/synchronization/internal/futex.h')
-rw-r--r--absl/synchronization/internal/futex.h25
1 files changed, 0 insertions, 25 deletions
diff --git a/absl/synchronization/internal/futex.h b/absl/synchronization/internal/futex.h
index 8d973263..55078f14 100644
--- a/absl/synchronization/internal/futex.h
+++ b/absl/synchronization/internal/futex.h
@@ -83,31 +83,6 @@ namespace synchronization_internal {
class FutexImpl {
public:
- // Atomically check that `*v == val`, and if it is, then sleep until the
- // timeout `t` has been reached, or until woken by `Wake()`.
- static int WaitUntil(std::atomic<int32_t>* v, int32_t val,
- KernelTimeout t) {
- // Monotonic waits are disabled for production builds because go/btm
- // requires synchronized clocks.
- // TODO(b/160682823): Find a way to enable this when BTM is not enabled
- // since production builds don't always run on Borg.
-#if defined(CLOCK_MONOTONIC) && !defined(__GOOGLE_GRTE_VERSION__)
- constexpr bool kRelativeTimeoutSupported = true;
-#else
- constexpr bool kRelativeTimeoutSupported = false;
-#endif
-
- if (!t.has_timeout()) {
- return Wait(v, val);
- } else if (kRelativeTimeoutSupported && t.is_relative_timeout()) {
- auto rel_timespec = t.MakeRelativeTimespec();
- return WaitRelativeTimeout(v, val, &rel_timespec);
- } else {
- auto abs_timespec = t.MakeAbsTimespec();
- return WaitAbsoluteTimeout(v, val, &abs_timespec);
- }
- }
-
// Atomically check that `*v == val`, and if it is, then sleep until the until
// woken by `Wake()`.
static int Wait(std::atomic<int32_t>* v, int32_t val) {