X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=ABM2%2FEngine%2FKernel.cpp;h=06269d33183bbd209f78b2b1967a317ab654f98b;hb=74b9a225eda4a9c8d97da9f374fd444b3823e5c1;hp=173c0d3170de02279f3cc53f1f0193d038ba5103;hpb=0b314338a46fe83c1c4bb646da858ebd5d4a7317;p=matthijs%2FABM2.git diff --git a/ABM2/Engine/Kernel.cpp b/ABM2/Engine/Kernel.cpp index 173c0d3..06269d3 100755 --- a/ABM2/Engine/Kernel.cpp +++ b/ABM2/Engine/Kernel.cpp @@ -25,20 +25,24 @@ CKernel::~CKernel() int CKernel::Execute() { +#ifdef WIN32 MSG msg; +#endif // WIN32 while(taskList.size()) { { PROFILE("Kernel task loop"); - //DWORD starting_point = GetTickCount(); + DWORD starting_point = GetTickCount(); +#ifdef WIN32 if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) { TranslateMessage(&msg); DispatchMessage(&msg); } +#endif // WIN32 std::list< CMMPointer >::iterator it, thisIt; @@ -62,8 +66,8 @@ int CKernel::Execute() } } IMMObject::CollectGarbage(); - //DWORD end_point = GetTickCount(); -// Sleep(50 - (end_point-starting_point)); + DWORD end_point = GetTickCount(); + Sleep(50 - (end_point-starting_point)); } #ifdef _DEBUG CProfileSample::Output(); @@ -73,7 +77,7 @@ int CKernel::Execute() return 0; } -bool CKernel::AddTask(CMMPointer &t) +bool CKernel::AddTask(const CMMPointer &t) { if(!t->Start())return false; @@ -88,7 +92,7 @@ bool CKernel::AddTask(CMMPointer &t) return true; } -void CKernel::SuspendTask(CMMPointer &t) +void CKernel::SuspendTask(const CMMPointer &t) { //check that this task is in our list - we don't want to suspend a task that isn't running if(std::find(taskList.begin(),taskList.end(),t)!=taskList.end()) @@ -99,7 +103,7 @@ void CKernel::SuspendTask(CMMPointer &t) } } -void CKernel::ResumeTask(CMMPointer &t) +void CKernel::ResumeTask(const CMMPointer &t) { if(std::find(pausedTaskList.begin(),pausedTaskList.end(),t)!=pausedTaskList.end()) { @@ -116,7 +120,7 @@ void CKernel::ResumeTask(CMMPointer &t) } } -void CKernel::RemoveTask(CMMPointer &t) +void CKernel::RemoveTask(const CMMPointer &t) { if(std::find(taskList.begin(),taskList.end(),t)!=taskList.end()) {