Toggle navigation
Beam GIT List
GitHub
Repo
Changelog
To do
Releases
Themes
Change log
Loading change log ...
To do ...
Loading todo ...
browsing:
bdbf10d4dfd924f118dc29da98a22199724c7962
Branches
master
Tags
tms/release-pre-2.1.0
tms/release-2.2.1
tms/release-2.2.0
tms/release-2.1.0
tms/release-2.0.6
tms/release-2.0.5
tms/release-2.0.4
tms/release-2.0.3first
tms/release-2.0.3
tms/release-1.2.12
tms/release-1.2.11
tms/release-1.2.10
tms/release-1.2.9
tms/release-1.2.8
tms/release-1.2.6a
tms/release-1.2.6
tms/release-1.2.4
tms/release-1.2.3
tms/release-1.2.2
tms/release-1.2.0
tms/release-1.1.2
tms/release-1.1.1
tms/release-1.0.2
tms/release-1.0.1
tms/release-1.0.0
tms/release-0.4.3
tms/release-0.4.2
tms/release-0.4.1
tms/release-0.3.14
tms/release-0.3.13
tms/release-0.3.12
tms/release-0.3.10
tms/release-0.3.9
tms/release-0.3.8
tms/release-0.3.5
tms/release-0.3.4
tms/release-0.3.3
tms/release-0.2.7
tms/release-0.2.5
tms/release-0.2.3
tms-mcsys/release-2.1.0-1.beam
tms-mcsys/release-2.0.6-1.beam
tms-mcsys/release-1.2.9-1.beam
tms-fpga/release-1.2.5
tms-fpga/release-1.2.4
Files
Commits
Log
Graph
Stats
tms-old
beam
libBeam
BMutex.h
RSS
Git
Fetch origin
Download
ZIP
TAR
Clone
Raw
View
History
Clone
HTTPS
Blames found: 9
Mode: text/x-c++src
Binary: false
Hang on, we reloading big blames...
6ae0d525
/******************************************************************************* * BMutex.h BMutex Classes * T.Barnaby, BEAM Ltd, 1/11/02
57456599
* Copyright (c) 2012 All Right Reserved, Beam Ltd, http://www.beam.ltd.uk
6ae0d525
******************************************************************************* */ #ifndef BMUTEX_H #define BMUTEX_H 1 #include <pthread.h> /// Mutex class class BMutex { public:
57456599
enum Type { Normal, Recursive }; BMutex(Type type = Normal);
6ae0d525
BMutex(const BMutex& mutex); ~BMutex();
57456599
int lock(); ///< Set lock, wait as necessary int timedLock(int timeoutUs); ///< Set lock, wait as necessary but timeout after given time
6ae0d525
int unlock(); ///< Unlock the lock int tryLock(); ///< Test the lock BMutex& operator=(const BMutex& mutex); private: pthread_mutex_t omutex; };
57456599
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; };
6ae0d525
#endif