diff options
Diffstat (limited to 'thirdparty/etcpak/Semaphore.hpp')
-rw-r--r-- | thirdparty/etcpak/Semaphore.hpp | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/thirdparty/etcpak/Semaphore.hpp b/thirdparty/etcpak/Semaphore.hpp deleted file mode 100644 index 9e42dbb9e0..0000000000 --- a/thirdparty/etcpak/Semaphore.hpp +++ /dev/null @@ -1,46 +0,0 @@ -#ifndef __DARKRL__SEMAPHORE_HPP__ -#define __DARKRL__SEMAPHORE_HPP__ - -#include <condition_variable> -#include <mutex> - -class Semaphore -{ -public: - Semaphore( int count ) : m_count( count ) {} - - void lock() - { - std::unique_lock<std::mutex> lock( m_mutex ); - m_cv.wait( lock, [this](){ return m_count != 0; } ); - m_count--; - } - - void unlock() - { - std::lock_guard<std::mutex> lock( m_mutex ); - m_count++; - m_cv.notify_one(); - } - - bool try_lock() - { - std::lock_guard<std::mutex> lock( m_mutex ); - if( m_count == 0 ) - { - return false; - } - else - { - m_count--; - return true; - } - } - -private: - std::mutex m_mutex; - std::condition_variable m_cv; - unsigned int m_count; -}; - -#endif |