barrier/mt/CMutex.h

36 lines
618 B
C++

#ifndef CMUTEX_H
#define CMUTEX_H
#include "common.h"
// recursive mutex class
class CMutex {
public:
// copy c'tor is equivalent to default c'tor. it's here to
// allow copying of objects that have mutexes.
CMutex();
CMutex(const CMutex&);
~CMutex();
// manipulators
// this has no effect. it's only here to allow assignment of
// objects that have mutexes.
CMutex& operator=(const CMutex&);
// accessors
void lock() const throw();
void unlock() const throw();
private:
void init();
void fini();
private:
friend class CCondVarBase;
void* m_mutex;
};
#endif