~CAutoFinalizer() { m_pThread->m_bFinished = true; if (m_pThread->GetFreeOnTerminate()) delete m_pThread; else m_pThread->m_nThreadId = 0; }