blob: a3600f47f733dcc4274fb0c8bffe70b85d23a626 [file] [log] [blame]
Alexandre Lision7fd5d3d2013-12-04 13:06:40 -05001//
2// MutexClass.h: header file
3//
4// Copyright (C) Walter E. Capers. All rights reserved
5//
6// This source is free to use as you like. If you make
7// any changes please keep me in the loop. Email them to
8// walt.capers@comcast.net.
9//
10// PURPOSE:
11//
12// To implement mutexes as a C++ object
13//
14// REVISIONS
15// =======================================================
16// Date: 10.25.07
17// Name: Walter E. Capers
18// Description: File creation
19//
20// Date:
21// Name:
22// Description:
23//
24//
25
26#ifndef MUTEX_CLASS
27#define MUTEX_CLASS
28
29#ifndef WINDOWS
30#if defined(WIN32) || defined(WIN64)
31#define WINDOWS
32#endif
33#endif
34
35#ifndef WINDOWS
36#include <pthread.h>
37#endif
38#include <common/Thread.h>
39
40class CMutexClass
41{
42private:
43#ifdef WINDOWS
44 HANDLE m_mutex;
45#else
46 pthread_mutex_t m_mutex;
47#endif
48 ThreadId_t m_owner;
49public:
50 BOOL m_bCreated;
51 void Lock();
52 void Unlock();
53 CMutexClass(void);
54 ~CMutexClass(void);
55};
56#endif
57