void StopLogger() { CAutoLock logLock(&m_logLock); if (m_hLogger) { //Make sure the thread runs soon so it can finish processing SetThreadPriority(m_hLogger, THREAD_PRIORITY_NORMAL); m_bLoggerRunning = FALSE; m_EndLoggingEvent.Set(); WaitForSingleObject(m_hLogger, INFINITE); m_EndLoggingEvent.Reset(); CloseHandle(m_hLogger); m_hLogger = NULL; logFileParsed = -1; logFileDate = -1; instanceID = 0; } }