| 97 | } |
| 98 | |
| 99 | bool WorkerThread::waitForState(STATE state, int timeout) |
| 100 | { |
| 101 | while (m_state != state) // || m_state == old_state - consume old signals ? |
| 102 | { |
| 103 | if (timeout >= 0) |
| 104 | { |
| 105 | m_signalSem.tryEnter(0, timeout); |
| 106 | break; |
| 107 | } |
| 108 | else |
| 109 | m_signalSem.enter(); |
| 110 | } |
| 111 | |
| 112 | return (m_state == state); |
| 113 | } |
| 114 | |
| 115 | void WorkerThread::shutdown(bool wait) |
| 116 | { |