Fixed conflicts

This commit is contained in:
Nekotekina 2014-02-26 15:27:06 +04:00
commit 8bd0ee875c
84 changed files with 864 additions and 1211 deletions

View file

@ -1,7 +1,7 @@
#pragma once
extern void SM_Sleep();
extern DWORD SM_GetCurrentThreadId();
extern size_t SM_GetCurrentThreadId();
extern u32 SM_GetCurrentCPUThreadId();
extern be_t<u32> SM_GetCurrentCPUThreadIdBE();
@ -20,13 +20,12 @@ enum SMutexResult
template
<
typename T,
u32 free_value = 0,
u32 dead_value = ~0,
void (wait)() = SM_Sleep
u64 free_value = 0,
u64 dead_value = ~0,
void (*wait)() = SM_Sleep
>
class SMutexBase
{
static_assert(sizeof(T) == 4, "Invalid SMutexBase typename");
std::atomic<T> owner;
public:
@ -157,16 +156,16 @@ public:
}
};
typedef SMutexBase<DWORD>
typedef SMutexBase<size_t>
SMutexGeneral;
typedef SMutexBase<u32>
SMutex;
typedef SMutexBase<be_t<u32>>
SMutexBE;
typedef SMutexLockerBase<DWORD, SM_GetCurrentThreadId>
typedef SMutexLockerBase<size_t, SM_GetCurrentThreadId>
SMutexGeneralLocker;
typedef SMutexLockerBase<u32, SM_GetCurrentCPUThreadId>
SMutexLocker;
typedef SMutexLockerBase<be_t<u32>, SM_GetCurrentCPUThreadIdBE>
SMutexBELocker;
SMutexBELocker;