forked from focus-creative-games/il2cpp_plus
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMutex.cpp
More file actions
104 lines (85 loc) · 2.3 KB
/
Mutex.cpp
File metadata and controls
104 lines (85 loc) · 2.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#include "il2cpp-config.h"
#if !RUNTIME_TINY
#include "os/c-api/Mutex-c-api.h"
extern "C"
{
UnityPalMutex* UnityPalMutexNew(int32_t initiallyOwned)
{
return new UnityPalMutex(initiallyOwned);
}
void UnityPalMutexDelete(UnityPalMutex* mutex)
{
IL2CPP_ASSERT(mutex);
delete mutex;
}
void UnityPalMutexLock(UnityPalMutex* mutex, int32_t interruptible)
{
IL2CPP_ASSERT(mutex);
mutex->Lock(interruptible);
}
int32_t UnityPalMutexTryLock(UnityPalMutex* mutex, uint32_t milliseconds, int32_t interruptible)
{
IL2CPP_ASSERT(mutex);
return mutex->TryLock(milliseconds, interruptible);
}
void UnityPalMutexUnlock(UnityPalMutex* mutex)
{
IL2CPP_ASSERT(mutex);
mutex->Unlock();
}
UnityPalMutexHandle* UnityPalMutexHandleNew(UnityPalMutex* mutex)
{
IL2CPP_ASSERT(mutex);
return new UnityPalMutexHandle(mutex);
}
void UnityPalMutexHandleDelete(UnityPalMutexHandle* handle)
{
IL2CPP_ASSERT(handle);
delete handle;
}
int32_t UnityPalMutexHandleWait(UnityPalMutexHandle* handle)
{
IL2CPP_ASSERT(handle);
return handle->Wait();
}
int32_t UnityPalMutexHandleWaitMs(UnityPalMutexHandle* handle, uint32_t ms)
{
IL2CPP_ASSERT(handle);
return handle->Wait(ms);
}
void UnityPalMutexHandleSignal(UnityPalMutexHandle* handle)
{
IL2CPP_ASSERT(handle);
handle->Signal();
}
UnityPalMutex* UnityPalMutexHandleGet(UnityPalMutexHandle* handle)
{
IL2CPP_ASSERT(handle);
return handle->Get();
}
UnityPalFastMutex* UnityPalFastMutexNew()
{
return new UnityPalFastMutex();
}
void UnityPalFastMutexDelete(UnityPalFastMutex* fastMutex)
{
IL2CPP_ASSERT(fastMutex);
delete fastMutex;
}
void UnityPalFastMutexLock(UnityPalFastMutex* fastMutex)
{
IL2CPP_ASSERT(fastMutex);
fastMutex->Lock();
}
void UnityPalFastMutexUnlock(UnityPalFastMutex* fastMutex)
{
IL2CPP_ASSERT(fastMutex);
fastMutex->Unlock();
}
UnityPalFastMutexImpl* UnityPalFastMutexGetImpl(UnityPalFastMutex* fastMutex)
{
IL2CPP_ASSERT(fastMutex);
return fastMutex->GetImpl();
}
}
#endif