X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=common%2Fsemaphore.h;fp=common%2Fsemaphore.h;h=c69960b3ed69ee0bafe1b871a6bacb36c92d7df1;hb=9bf478eb3d33ea54d222ddc7e8670f9e88500b9e;hp=ad6de09f829577eccf3d16bb94484839e9988bc7;hpb=322291474b144cb915a23cb2d693b3379699e174;p=casparcg diff --git a/common/semaphore.h b/common/semaphore.h index ad6de09f8..c69960b3e 100644 --- a/common/semaphore.h +++ b/common/semaphore.h @@ -24,13 +24,14 @@ #include #include -#include -#include #include +#include #include #include +#include + namespace caspar { /** @@ -38,7 +39,7 @@ namespace caspar { */ class semaphore : boost::noncopyable { - mutable boost::mutex mutex_; + mutable std::mutex mutex_; unsigned int permits_; boost::condition_variable_any permits_available_; std::map>> callbacks_per_requested_permits_; @@ -58,7 +59,7 @@ public: */ void release() { - boost::unique_lock lock(mutex_); + std::unique_lock lock(mutex_); ++permits_; @@ -73,7 +74,7 @@ public: */ void release(unsigned int permits) { - boost::unique_lock lock(mutex_); + std::unique_lock lock(mutex_); permits_ += permits; @@ -87,7 +88,7 @@ public: */ void acquire() { - boost::unique_lock lock(mutex_); + std::unique_lock lock(mutex_); while (permits_ == 0u) { @@ -105,7 +106,7 @@ public: */ void acquire(unsigned int permits) { - boost::unique_lock lock(mutex_); + std::unique_lock lock(mutex_); auto num_acquired = 0u; while (true) @@ -132,7 +133,7 @@ public: */ void acquire(unsigned int permits, std::function acquired_callback) { - boost::unique_lock lock(mutex_); + std::unique_lock lock(mutex_); if (permits_ >= permits) { @@ -157,7 +158,7 @@ public: template bool try_acquire(unsigned int permits, const boost::chrono::duration& timeout) { - boost::unique_lock lock(mutex_); + std::unique_lock lock(mutex_); auto num_acquired = 0u; while (true) @@ -191,7 +192,7 @@ public: */ bool try_acquire() { - boost::unique_lock lock(mutex_); + std::unique_lock lock(mutex_); if (permits_ == 0u) return false; @@ -209,7 +210,7 @@ public: */ unsigned int permits() const { - boost::unique_lock lock(mutex_); + std::unique_lock lock(mutex_); return permits_; }