diff options
author | Travis CI <zmoelnig@travis-ci.umlaeute.mur.at> | 2015-03-14 20:40:49 +0000 |
---|---|---|
committer | Travis CI <zmoelnig@travis-ci.umlaeute.mur.at> | 2015-03-14 20:40:49 +0000 |
commit | 5c694f159b012d1d94bf15bfe580dec52e4fe797 (patch) | |
tree | ce400f82d72f92189c50f54afa11c568cda53562 /Gem/develop/include/Gem/Utils/ThreadSemaphore.h |
Gem osx/x86_64
built '' for osx/x86_64
Diffstat (limited to 'Gem/develop/include/Gem/Utils/ThreadSemaphore.h')
-rw-r--r-- | Gem/develop/include/Gem/Utils/ThreadSemaphore.h | 39 |
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_ */ |