aboutsummaryrefslogtreecommitdiff
path: root/src/common/thread.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/thread.h')
-rw-r--r--src/common/thread.h14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/common/thread.h b/src/common/thread.h
index ea6f5d6b3b..a75e342802 100644
--- a/src/common/thread.h
+++ b/src/common/thread.h
@@ -34,16 +34,10 @@ public:
is_set = false;
}
- bool WaitFor(const std::chrono::nanoseconds& time) {
- std::unique_lock lk{mutex};
- if (!condvar.wait_for(lk, time, [this] { return is_set.load(); }))
- return false;
- is_set = false;
- return true;
- }
+ bool WaitFor(const std::chrono::nanoseconds time);
- template <class Clock, class Duration>
- bool WaitUntil(const std::chrono::time_point<Clock, Duration>& time) {
+ template<class Clock, class Duration>
+ bool WaitUntil(const std::chrono::time_point<Clock, Duration> time) {
std::unique_lock lk{mutex};
if (!condvar.wait_until(lk, time, [this] { return is_set.load(); }))
return false;
@@ -63,9 +57,9 @@ public:
}
private:
+ alignas(64) std::atomic<bool> is_set{false};
std::condition_variable condvar;
std::mutex mutex;
- std::atomic_bool is_set{false};
};
class Barrier {