| 1623 | } |
| 1624 | |
| 1625 | void cComponentManager::waitForController(int threadID, int stage) |
| 1626 | { |
| 1627 | smileMutexLock(waitEndMtx); |
| 1628 | if (stage==2) { |
| 1629 | waitEndCnt++; |
| 1630 | SMILE_DBG(4,"thread %i entered waiting state.. %i threads of %i are now waiting\n",threadID,waitEndCnt,nThreads); |
| 1631 | if (waitEndCnt == nThreads) { |
| 1632 | smileCondSignal(waitEndCond); |
| 1633 | } |
| 1634 | smileCondWaitWMtx(waitControllerCond,waitEndMtx); |
| 1635 | } else { |
| 1636 | if (!controllerPresent) { smileCondWaitWMtx(waitControllerCond,waitEndMtx); } |
| 1637 | } |
| 1638 | //EOI = _eoi; |
| 1639 | //nActive = nThreads; //?? |
| 1640 | // smileCondBroadcast(waitEndCond); |
| 1641 | //endOfLoop=0; |
| 1642 | smileMutexUnlock(waitEndMtx); |
| 1643 | } |
| 1644 | |
| 1645 | SMILE_THREAD_RETVAL threadRunnerControl(void *_data) |
| 1646 | { |
no test coverage detected