diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2013-03-22 21:48:28 +0100 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2013-03-22 21:51:09 +0100 |
commit | 4f05cb2af239ca8471b77c9f1d1c32e8c4cd3abc (patch) | |
tree | 338d3891b0c7710558aea3820d42af6eedfb0af9 /faceapi/mutex.h | |
parent | 4f00c4c74d213a37a4b1a3313e50ce2b4dd51271 (diff) |
Remove .bat files, actually finish rename this time
Diffstat (limited to 'faceapi/mutex.h')
-rw-r--r-- | faceapi/mutex.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/faceapi/mutex.h b/faceapi/mutex.h new file mode 100644 index 00000000..11aabafc --- /dev/null +++ b/faceapi/mutex.h @@ -0,0 +1,44 @@ +#ifndef SM_API_TESTAPPCONSOLE_MUTEX_H
+#define SM_API_TESTAPPCONSOLE_MUTEX_H
+
+namespace sm
+{
+ namespace faceapi
+ {
+ namespace samplecode
+ {
+ // A very simple mutex class for sample code purposes.
+ // It is recommended that you use the boost threads library.
+ class Mutex
+ {
+ public:
+ Mutex()
+ {
+ if (!InitializeCriticalSectionAndSpinCount(&_cs,0x80000400))
+ {
+ throw std::runtime_error("Failed to initialize Mutex");
+ }
+ }
+ ~Mutex()
+ {
+ DeleteCriticalSection(&_cs);
+ }
+ void lock() const
+ {
+ EnterCriticalSection(&_cs);
+ }
+ void unlock() const
+ {
+ LeaveCriticalSection(&_cs);
+ }
+ private:
+ // Noncopyable
+ Mutex(const Mutex &);
+ Mutex &operator=(const Mutex &);
+ private:
+ mutable CRITICAL_SECTION _cs;
+ };
+ }
+ }
+}
+#endif
|