diff options
-rw-r--r-- | src/thread/PosixCond.hxx | 2 | ||||
-rw-r--r-- | src/thread/WindowsCond.hxx | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/src/thread/PosixCond.hxx b/src/thread/PosixCond.hxx index 2428aa5c7..208ba1ed5 100644 --- a/src/thread/PosixCond.hxx +++ b/src/thread/PosixCond.hxx @@ -74,6 +74,7 @@ public: pthread_cond_wait(&cond, &mutex.mutex); } +private: bool timed_wait(PosixMutex &mutex, unsigned timeout_ms) { struct timeval now; gettimeofday(&now, nullptr); @@ -90,6 +91,7 @@ public: return pthread_cond_timedwait(&cond, &mutex.mutex, &ts) == 0; } +public: bool timed_wait(PosixMutex &mutex, std::chrono::steady_clock::duration timeout) { auto timeout_ms = std::chrono::duration_cast<std::chrono::milliseconds>(timeout).count(); diff --git a/src/thread/WindowsCond.hxx b/src/thread/WindowsCond.hxx index 0419ee3c3..04620dbaf 100644 --- a/src/thread/WindowsCond.hxx +++ b/src/thread/WindowsCond.hxx @@ -56,11 +56,13 @@ public: WakeAllConditionVariable(&cond); } +private: bool timed_wait(CriticalSection &mutex, DWORD timeout_ms) { return SleepConditionVariableCS(&cond, &mutex.critical_section, timeout_ms); } +public: bool timed_wait(CriticalSection &mutex, std::chrono::steady_clock::duration timeout) { auto timeout_ms = std::chrono::duration_cast<std::chrono::milliseconds>(timeout).count(); |