minor improvements for fixed slot sequence

This commit is contained in:
Robin Müller 2022-04-21 09:34:38 +02:00
parent 96babff67e
commit cec12c0073
No known key found for this signature in database
GPG Key ID: 11D4952C8CCEF814

View File

@ -138,23 +138,22 @@ ReturnValue_t FixedSlotSequence::checkSequence() const {
}
ReturnValue_t FixedSlotSequence::intializeSequenceAfterTaskCreation() const {
std::set<ExecutableObjectIF*> uniqueObjects;
uint32_t count = 0;
std::set<ExecutableObjectIF*> uniqueObjects = {};
uint32_t failedCount = 0;
for (const auto& slot : slotList) {
// Ensure that each unique object is initialized once.
if (uniqueObjects.find(slot.executableObject) == uniqueObjects.end()) {
ReturnValue_t result = slot.executableObject->initializeAfterTaskCreation();
if (result != HasReturnvaluesIF::RETURN_OK) {
count++;
failedCount++;
}
uniqueObjects.emplace(slot.executableObject);
}
}
if (count > 0) {
if (failedCount > 0) {
#if FSFW_CPP_OSTREAM_ENABLED == 1
sif::error << "FixedSlotSequence::intializeSequenceAfterTaskCreation:"
"Counted "
<< count << " failed initializations!" << std::endl;
"Counted " << failedCount << " failed initializations" << std::endl;
#endif
return HasReturnvaluesIF::RETURN_FAILED;
}