]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STARLIGHT/starlight/include/slmutex.h
nbins added as data member + axes renamed
[u/mrichter/AliRoot.git] / STARLIGHT / starlight / include / slmutex.h
CommitLineData
da32329d
AM
1#ifndef SLMUTEX_H
2#define SLMUTEX_H
3
4#include <pthread.h>
5
6class MutexPosix
7{
8private:
9
10 MutexPosix(const MutexPosix &);
11
12 pthread_mutex_t _mutex;
13
14public:
15
16 MutexPosix() {}
17
18 int lock() { return pthread_mutex_lock(&_mutex); }
19 int unlock() { return pthread_mutex_unlock(&_mutex); }
20};
21
22template<typename M>
23class Lockguard
24{
25private:
26
27 M *_mutex;
28 Lockguard(const Lockguard & guard); // Do not implement
29
30public:
31
32 Lockguard(M *mutex): _mutex(mutex) {_mutex->lock();}
33 ~Lockguard() { _mutex->unlock(); }
34
35};
36
37#endif