aboutsummaryrefslogtreecommitdiff
path: root/Gem/develop/include/Gem/Utils/ThreadSemaphore.h
diff options
context:
space:
mode:
authorTravis CI <zmoelnig@travis-ci.umlaeute.mur.at>2015-03-17 22:54:19 +0000
committerTravis CI <zmoelnig@travis-ci.umlaeute.mur.at>2015-03-17 22:54:19 +0000
commit15b30fe20b401d079c2b3c6a8e77eee827813de3 (patch)
tree3a4e10aa2ec06ac1d3cb7de6a87cadd07a9d5f16 /Gem/develop/include/Gem/Utils/ThreadSemaphore.h
parent356f94fc355f36c16e48555d10c2377dff4b7554 (diff)
Gem 096ed6ef786b7a9d6e11a437ff8526619c89a1fd osx/x86_64
built 'master:096ed6ef786b7a9d6e11a437ff8526619c89a1fd' for osx/x86_64
Diffstat (limited to 'Gem/develop/include/Gem/Utils/ThreadSemaphore.h')
-rw-r--r--Gem/develop/include/Gem/Utils/ThreadSemaphore.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/Gem/develop/include/Gem/Utils/ThreadSemaphore.h b/Gem/develop/include/Gem/Utils/ThreadSemaphore.h
new file mode 100644
index 0000000..3a57a4c
--- /dev/null
+++ b/Gem/develop/include/Gem/Utils/ThreadSemaphore.h
@@ -0,0 +1,39 @@
+/*-----------------------------------------------------------------
+LOG
+ GEM - Graphics Environment for Multimedia
+
+ - locks a thread (wrapper around pthread's cond_t)
+
+ Copyright (c) 2011-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+-----------------------------------------------------------------*/
+
+#ifndef _INCLUDE__GEM_GEM_THREADSEMAPHORE_H_
+#define _INCLUDE__GEM_GEM_THREADSEMAPHORE_H_
+
+
+#include "Gem/ExportDef.h"
+
+namespace gem {
+ namespace thread {
+ class GEM_EXTERN Semaphore {
+ private:
+ class PIMPL;
+ PIMPL*m_pimpl;
+ public:
+ Semaphore(void);
+ virtual ~Semaphore(void);
+ Semaphore(const Semaphore&);
+
+ /** block the current thread until the Semaphore is thaw()ed again */
+ void freeze (void);
+ /** unblock any waiting threads */
+ void thaw (void);
+
+ virtual Semaphore&operator=(const Semaphore&);
+ };
+ };
+};
+#endif /* _INCLUDE__GEM_GEM_THREADSEMAPHORE_H_ */