CThread(void) :
m_bStop(false),
m_bRunning(false),
- m_bStopped(false) {}
+ m_bStopped(false),
+ m_thread(NULL) {}
virtual ~CThread(void)
{
StopThread(0);
void *retVal;
- ThreadsWait(m_thread, &retVal);
+ if (m_thread)
+ ThreadsWait(m_thread, &retVal);
+ #if defined(__WINDOWS__)
(void *)retVal; //"unreferenced local variable" warning
+ #endif
}
static void *ThreadHandler(CThread *thread)
protected:
void SetRunning(bool bSetTo);
+ CMutex m_threadMutex;
private:
bool m_bStop;
bool m_bRunning;
bool m_bStopped;
CCondition<bool> m_threadCondition;
- CMutex m_threadMutex;
thread_t m_thread;
};
};