This refactor the StandAlone and WorkList files in order to use more
C++11 features remove the dependencies from OS specific code. Changes: - Making WorkList class to have its own mutex instead of the OS specific global one. The new mutex is the one from std library. The OS specific code is also removed. - Using the C++11 std library to handle threads in StandAlone application and enabling concurrent processing on non-windows platforms. - converting the global variable Worklist into local variable workList.
This commit is contained in:
@@ -184,20 +184,6 @@ void ReleaseGlobalLock()
|
||||
pthread_mutex_unlock(&gMutex);
|
||||
}
|
||||
|
||||
// TODO: non-windows: if we need these on linux, flesh them out
|
||||
void* OS_CreateThread(TThreadEntrypoint /*entry*/)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
void OS_WaitForAllThreads(void* /*threads*/, int /*numThreads*/)
|
||||
{
|
||||
}
|
||||
|
||||
void OS_Sleep(int /*milliseconds*/)
|
||||
{
|
||||
}
|
||||
|
||||
void OS_DumpMemoryCounters()
|
||||
{
|
||||
}
|
||||
|
||||
@@ -131,21 +131,6 @@ unsigned int __stdcall EnterGenericThread (void* entry)
|
||||
return ((TThreadEntrypoint)entry)(0);
|
||||
}
|
||||
|
||||
void* OS_CreateThread(TThreadEntrypoint entry)
|
||||
{
|
||||
return (void*)_beginthreadex(0, 0, EnterGenericThread, (void*)entry, 0, 0);
|
||||
}
|
||||
|
||||
void OS_WaitForAllThreads(void* threads, int numThreads)
|
||||
{
|
||||
WaitForMultipleObjects(numThreads, (HANDLE*)threads, true, INFINITE);
|
||||
}
|
||||
|
||||
void OS_Sleep(int milliseconds)
|
||||
{
|
||||
Sleep(milliseconds);
|
||||
}
|
||||
|
||||
//#define DUMP_COUNTERS
|
||||
|
||||
void OS_DumpMemoryCounters()
|
||||
|
||||
@@ -53,11 +53,8 @@ void GetGlobalLock();
|
||||
void ReleaseGlobalLock();
|
||||
|
||||
typedef unsigned int (*TThreadEntrypoint)(void*);
|
||||
void* OS_CreateThread(TThreadEntrypoint);
|
||||
void OS_WaitForAllThreads(void* threads, int numThreads);
|
||||
|
||||
void OS_CleanupThreadData(void);
|
||||
void OS_Sleep(int milliseconds);
|
||||
|
||||
void OS_DumpMemoryCounters();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user