diff --git a/LCS/ACC/ACCbin/include/ACCbin/ApplController.h b/LCS/ACC/ACCbin/include/ACCbin/ApplController.h index bea8a1357faafb7de9c25e17012351e800de3aba..6ebcc9543899c6165a90e686af7492a785748931 100644 --- a/LCS/ACC/ACCbin/include/ACCbin/ApplController.h +++ b/LCS/ACC/ACCbin/include/ACCbin/ApplController.h @@ -109,6 +109,8 @@ private: DH_ApplControl* itsCurACMsg; // Command under handling ProcRuler itsProcRuler; // Starts/stops all AP's + + uint16 itsNrOfProcs; // Nr of processes to manage. }; // @} addgroup diff --git a/LCS/ACC/ACCbin/src/ApplController.cc b/LCS/ACC/ACCbin/src/ApplController.cc index 94162ebb0a837f3406360c78848f016a7e36db7e..0553c2a9ead1bac55c1d09e74509cd1e6d748807 100644 --- a/LCS/ACC/ACCbin/src/ApplController.cc +++ b/LCS/ACC/ACCbin/src/ApplController.cc @@ -255,6 +255,7 @@ void ApplController::createParSubsets() // nrProcs := x | 0 string procName = procList[procIdx]; int32 nrProcs = indexValue(procName, "()"); + itsNrOfProcs += nrProcs; rtrim(procName, "()0123456789"); string procPrefix = applName +"." + procName; @@ -692,9 +693,16 @@ void ApplController::checkAckCompletion() if (itsCurState == StateStartupAppl) { // if (itsAPAPool->onlineCount() == itsProcRuler.size()) { - if (itsAPAPool->onlineCount() == itsAPAPool->processCount()) { +// if (itsAPAPool->onlineCount() == itsAPAPool->processCount()) { + if (itsAPAPool->onlineCount() == itsNrOfProcs) { itsStateEngine->ready(); } + else { + LOG_TRACE_STAT_STR("Still waiting for: " << itsNrOfProcs << "-" + << itsAPAPool->onlineCount() << "=" << itsNrOfProcs-itsAPAPool->onlineCount() + << " connections"); + } + return; } if (itsAPAPool->allAcksReceived()) {