platform/shared/common/RhoThread.h in rhodes-2.0.3 vs platform/shared/common/RhoThread.h in rhodes-2.1.0

- old
+ new

@@ -21,11 +21,11 @@ CRhoThread(IRhoClassFactory* factory); virtual ~CRhoThread(void){}; virtual void start(EPriority ePriority); - virtual void stop(unsigned int nTimeoutToKill){ m_nState |= TS_STOPPING; m_pImpl->stop(nTimeoutToKill); m_nState &= ~TS_STOPPING; } - virtual void wait(unsigned int nTimeout){ m_nState |= TS_WAIT; m_pImpl->wait(nTimeout); m_nState &= ~TS_WAIT; } + virtual void stop(unsigned int nTimeoutToKill){ m_nState |= TS_STOPPING; if (m_nState&TS_RUNNING) m_pImpl->stop(nTimeoutToKill); m_nState &= ~TS_STOPPING; } + virtual void wait(unsigned int nTimeout){ m_nState |= TS_WAIT; if ((m_nState&TS_RUNNING) && !(m_nState&TS_STOPPING) ) m_pImpl->wait(nTimeout); m_nState &= ~TS_WAIT; } virtual void stopWait(){ if (isWaiting()) m_pImpl->stopWait(); } virtual void sleep(unsigned int nTimeout){ m_pImpl->sleep(nTimeout); } virtual void run() = 0; virtual void runObject() {