RSS Git Download  Clone
Raw View History
Blames found: 9 Mode: text/x-c++src Binary: false


Hang on, we reloading big blames...
/******************************************************************************* * BMutex.h BMutex Classes * T.Barnaby, BEAM Ltd, 1/11/02
* Copyright (c) 2012 All Right Reserved, Beam Ltd, http://www.beam.ltd.uk
******************************************************************************* */ #ifndef BMUTEX_H #define BMUTEX_H 1 #include <pthread.h> /// Mutex class class BMutex { public:
enum Type { Normal, Recursive }; BMutex(Type type = Normal);
BMutex(const BMutex& mutex); ~BMutex();
int lock(); ///< Set lock, wait as necessary int timedLock(int timeoutUs); ///< Set lock, wait as necessary but timeout after given time
int unlock(); ///< Unlock the lock int tryLock(); ///< Test the lock BMutex& operator=(const BMutex& mutex); private: pthread_mutex_t omutex; };
class BMutexLock { public: BMutexLock(BMutex& lock, int doLock = 0) : olock(lock) { if(doLock) olock.lock(); } ~BMutexLock() { olock.unlock(); } int lock() { return olock.lock(); } int unlock() { return olock.unlock(); } private: BMutex& olock; };
#endif