summaryrefslogtreecommitdiff
path: root/absl/synchronization/internal/sem_waiter.h
diff options
context:
space:
mode:
authorGravatar Derek Mauro <dmauro@google.com>2023-04-08 09:52:09 -0700
committerGravatar Copybara-Service <copybara-worker@google.com>2023-04-08 09:52:56 -0700
commit1a72ea7bb8ba27679dd8b179a4671d7d9b099d4b (patch)
treef1e4c715e0e99bbe4206fd91c5b207bb297be4f5 /absl/synchronization/internal/sem_waiter.h
parent42a3c030c958e6e099162b746ada04792b3a1c67 (diff)
Synchronization: Support true relative timeouts using the POSIX
proposed standard pthread_cond_clockwait() and sem_clockwait(). These are currently implemented in glibc >= 2.30. These methods take a clock and use an absolute time with reference to that clock, so KernelTimeout now can produce these values. PiperOrigin-RevId: 522824226 Change-Id: Ife98713f6f95d800b1f8e52d5364a3dbebc4f8a6
Diffstat (limited to 'absl/synchronization/internal/sem_waiter.h')
-rw-r--r--absl/synchronization/internal/sem_waiter.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/absl/synchronization/internal/sem_waiter.h b/absl/synchronization/internal/sem_waiter.h
index 47d5bf3d..c22746f9 100644
--- a/absl/synchronization/internal/sem_waiter.h
+++ b/absl/synchronization/internal/sem_waiter.h
@@ -46,6 +46,8 @@ class SemWaiter : public WaiterCrtp<SemWaiter> {
static constexpr char kName[] = "SemWaiter";
private:
+ int TimedWait(KernelTimeout t);
+
sem_t sem_;
// This seems superfluous, but for Poke() we need to cause spurious