AtomicCondition::wait_for: use std::chrono::duration

This commit is contained in:
Tom 2019-09-16 18:07:20 +02:00
parent 7dd4a1a075
commit 1146362559

View File

@ -33,11 +33,12 @@ public:
this->value_.store(val);
}
void wait_for(const std::chrono::milliseconds& time, ValueType val) const
template<class Rep, class Period>
void wait_for(const std::chrono::duration<Rep, Period>& time,
ValueType val) const
{
std::unique_lock<std::mutex> lock(this->condvar_mutex_);
// This while-loop takes care of "spurious wakeups"
while( this->value_.load() != val )
if( this->condvar_.wait_for(lock, time) == std::cv_status::timeout )
return;