54 lines
781 B
C++
54 lines
781 B
C++
#include "Precompiled.h"
|
|
|
|
|
|
|
|
|
|
#include "RakiEngine/System/RakiThread.h"
|
|
|
|
|
|
#include "RakiEngine/System/ThreadBase/ThreadBase.h"
|
|
|
|
|
|
|
|
namespace raki
|
|
{
|
|
|
|
|
|
DWORD WINAPI RakiThread_Function( void * _data )
|
|
{
|
|
RAKI_ASSERT( _data );
|
|
|
|
ThreadBase * object = (ThreadBase*) _data;
|
|
|
|
Thread::theThread( object );
|
|
|
|
return 0;
|
|
}
|
|
|
|
|
|
void Thread::theThread( ThreadBase * _object )
|
|
{
|
|
RAKI_OUTPUT( "Thread::theThread launching thread on Thread 0x%x", _object );
|
|
|
|
_object->internalRun();
|
|
}
|
|
|
|
bool Thread::beginThread( ThreadBase * _object )
|
|
{
|
|
const int stackSize = 65536;
|
|
|
|
HANDLE thread = (HANDLE)CreateThread( 0, stackSize, RakiThread_Function, _object, 0, 0 );
|
|
|
|
return ( thread != NULL );
|
|
}
|
|
|
|
void Thread::sleep( u32 _milliseconds )
|
|
{
|
|
Sleep( _milliseconds );
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|