diff options
author | Thomas Snider <tjps636@gmail.com> | 2017-11-18 11:35:14 -0800 |
---|---|---|
committer | Thomas Snider <tjps636@gmail.com> | 2017-11-18 11:35:14 -0800 |
commit | bba9bd0d9dd06f13a6b0c89181864453cab5c858 (patch) | |
tree | b16239a61b68699026e7c7b93c0dad06081abd80 /src/sync.h | |
parent | 99bc0b428b03b571afbc311b7f18fd3a707ac5af (diff) |
Switched sync.{cpp,h} to std threading primitives.
Diffstat (limited to 'src/sync.h')
-rw-r--r-- | src/sync.h | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/src/sync.h b/src/sync.h index b0889be767..3af27c65d0 100644 --- a/src/sync.h +++ b/src/sync.h @@ -8,8 +8,6 @@ #include <threadsafety.h> -#include <boost/thread/condition_variable.hpp> -#include <boost/thread/mutex.hpp> #include <condition_variable> #include <thread> #include <mutex> @@ -196,8 +194,8 @@ public: class CSemaphore { private: - boost::condition_variable condition; - boost::mutex mutex; + std::condition_variable condition; + std::mutex mutex; int value; public: @@ -205,16 +203,14 @@ public: void wait() { - boost::unique_lock<boost::mutex> lock(mutex); - while (value < 1) { - condition.wait(lock); - } + std::unique_lock<std::mutex> lock(mutex); + condition.wait(lock, [&]() { return value >= 1; }); value--; } bool try_wait() { - boost::unique_lock<boost::mutex> lock(mutex); + std::lock_guard<std::mutex> lock(mutex); if (value < 1) return false; value--; @@ -224,7 +220,7 @@ public: void post() { { - boost::unique_lock<boost::mutex> lock(mutex); + std::lock_guard<std::mutex> lock(mutex); value++; } condition.notify_one(); |