aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/github.com/dexon-foundation/mcl/include/cybozu/critical_section.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/dexon-foundation/mcl/include/cybozu/critical_section.hpp')
-rw-r--r--vendor/github.com/dexon-foundation/mcl/include/cybozu/critical_section.hpp60
1 files changed, 0 insertions, 60 deletions
diff --git a/vendor/github.com/dexon-foundation/mcl/include/cybozu/critical_section.hpp b/vendor/github.com/dexon-foundation/mcl/include/cybozu/critical_section.hpp
deleted file mode 100644
index 13d7f3a0e..000000000
--- a/vendor/github.com/dexon-foundation/mcl/include/cybozu/critical_section.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-#pragma once
-/**
- @file
- @brief critical section
-
- @author MITSUNARI Shigeo(@herumi)
- @author MITSUNARI Shigeo
-*/
-#include <cybozu/mutex.hpp>
-
-namespace cybozu {
-
-class ConditionVariableCs;
-
-namespace thread {
-
-#ifdef _WIN32
-typedef CRITICAL_SECTION CsHandle;
-inline void CsInit(CsHandle& cs) { InitializeCriticalSection(&cs); }
-inline void CsLock(CsHandle& cs) { EnterCriticalSection(&cs); }
-inline void CsUnlock(CsHandle& cs) { LeaveCriticalSection(&cs); }
-inline void CsTerm(CsHandle& cs) { DeleteCriticalSection(&cs); }
-#else
-typedef pthread_mutex_t CsHandle;
-inline void CsInit(CsHandle& cs) { pthread_mutex_init(&cs, NULL); }
-inline void CsLock(CsHandle& cs) { pthread_mutex_lock(&cs); }
-inline void CsUnlock(CsHandle& cs) { pthread_mutex_unlock(&cs); }
-inline void CsTerm(CsHandle& cs) { pthread_mutex_destroy(&cs); }
-#endif
-
-} // cybozu::thread
-
-class CriticalSection {
- friend class cybozu::ConditionVariableCs;
-public:
- CriticalSection()
- {
- thread::CsInit(hdl_);
- }
- ~CriticalSection()
- {
- thread::CsTerm(hdl_);
- }
- inline void lock()
- {
- thread::CsLock(hdl_);
- }
- inline void unlock()
- {
- thread::CsUnlock(hdl_);
- }
-private:
- CriticalSection(const CriticalSection&);
- CriticalSection& operator=(const CriticalSection&);
- thread::CsHandle hdl_;
-};
-
-typedef cybozu::thread::AutoLockT<cybozu::CriticalSection> AutoLockCs; //!< auto lock critical section
-
-} // cybozu