aboutsummaryrefslogtreecommitdiff
path: root/libbutl/mingw-condition_variable.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'libbutl/mingw-condition_variable.hxx')
-rw-r--r--libbutl/mingw-condition_variable.hxx8
1 files changed, 8 insertions, 0 deletions
diff --git a/libbutl/mingw-condition_variable.hxx b/libbutl/mingw-condition_variable.hxx
index ce94941..965f533 100644
--- a/libbutl/mingw-condition_variable.hxx
+++ b/libbutl/mingw-condition_variable.hxx
@@ -126,9 +126,17 @@ public:
const std::chrono::duration<Rep, Period>& rel_time,
Predicate pred)
{
+#if __cplusplus >= 201703L
+ using steady_duration = typename std::chrono::steady_clock::duration;
+ return wait_until(lock,
+ std::chrono::steady_clock::now() +
+ std::chrono::ceil<steady_duration> (rel_time),
+ std::move(pred));
+#else
return wait_until(lock,
std::chrono::steady_clock::now() + rel_time,
std::move(pred));
+#endif
}
template <class Clock, class Duration>
cv_status wait_until (unique_lock<mutex>& lock,