![]() |
Stop() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Public Function |
Declared in: PeriodicThread.h |
BOOL Stop();
Stop the thread
try { if (m_bDestructor) if (!m_pEnterEvent || !m_pExitEvent) { //Just delete the thread delete m_pThread; //Exit return TRUE; } else ; else //Are we running if (!m_pEnterEvent || !m_pExitEvent) { //Report it ReportError("Stop","Not running!"); //Exit return FALSE; } //Are we aborted if (!m_bAbort) { //The thread ID DWORD dwThreadID; dwThreadID=m_pThread->GetThreadID(); //Call the thread m_pExitEvent->Set(); //Wait for the thread if (GetCurrentThreadId()!=dwThreadID && m_pEnterEvent->Wait(m_dwThreadTimeout)) { //Report it ReportError("Stop","Timeout waiting for thread!"); //Delete it by force delete m_pThread; } } //Delete it all m_pThread=NULL; //Do we need to recreate if (!m_bDestructor) m_pThread=COSManager::CreateThread(PeriodicThread); //The events delete m_pEnterEvent; m_pEnterEvent=NULL; delete m_pExitEvent; m_pExitEvent=NULL; //Set the interval m_dwInterval=0; //Done return TRUE; } ERROR_HANDLER_RETURN("Stop",FALSE)
![]() |
Site content copyright © 2003 Komodia LTD.. See the About page for additional notices. This page last updated: 24 Feb 2003. |