OpenBarnyard
Loading...
Searching...
No Matches
T2Mutex_Win.cpp
Go to the documentation of this file.
1
#include "ToshiPCH.h"
2
#include "
T2Mutex_Win.h
"
3
4
#include <Windows.h>
5
6
//-----------------------------------------------------------------------------
7
// Enables memory debugging.
8
// Note: Should be the last include!
9
//-----------------------------------------------------------------------------
10
#include "
Core/TMemoryDebugOn.h
"
11
12
TOSHI_NAMESPACE_START
13
14
TBOOL
T2Mutex::Create
()
15
{
16
Destroy
();
17
m_Mutex = CreateMutexA( NULL, FALSE, NULL );
18
TASSERT
( m_Mutex != NULL,
"Failed to create mutex"
);
19
return
TTRUE
;
20
}
21
22
TBOOL
T2Mutex::Lock
(
Flags
flags )
23
{
24
TASSERT
( m_Mutex != NULL,
"Mutex is NULL"
);
25
26
DWORD waitForMs = ( flags &
Flags_DoNotWait
) ? 0 : INFINITE;
27
DWORD result = WaitForSingleObject( m_Mutex, waitForMs );
28
29
return
result == WAIT_OBJECT_0;
30
}
31
32
TBOOL
T2Mutex::Unlock
()
33
{
34
TASSERT
( m_Mutex != NULL,
"Mutex is NULL"
);
35
return
ReleaseMutex( m_Mutex );
36
}
37
38
void
T2Mutex::Destroy
()
39
{
40
CloseHandle( m_Mutex );
41
m_Mutex = NULL;
42
}
43
44
TOSHI_NAMESPACE_END
TMemoryDebugOn.h
T2Mutex_Win.h
TASSERT
#define TASSERT(X,...)
Definition
Defines.h:138
TOSHI_NAMESPACE_START
#define TOSHI_NAMESPACE_START
Definition
Defines.h:47
TOSHI_NAMESPACE_END
#define TOSHI_NAMESPACE_END
Definition
Defines.h:50
TTRUE
#define TTRUE
Definition
Typedefs.h:25
TBOOL
bool TBOOL
Definition
Typedefs.h:6
T2Mutex::Lock
TBOOL Lock(Flags flags=Flags_Standard)
Definition
T2Mutex_Win.cpp:22
T2Mutex::Create
TBOOL Create()
Definition
T2Mutex_Win.cpp:14
T2Mutex::Flags_DoNotWait
@ Flags_DoNotWait
Definition
T2Mutex_Win.h:12
T2Mutex::Destroy
void Destroy()
Definition
T2Mutex_Win.cpp:38
T2Mutex::Unlock
TBOOL Unlock()
Definition
T2Mutex_Win.cpp:32
T2Mutex::Flags
TUINT32 Flags
Definition
T2Mutex_Win.h:8
D:
_dev
OpenBarnyard
Source
Toshi
Source
Platform
Windows
T2Mutex_Win.cpp
Generated by
1.13.2