1
0
forked from fsfw/fsfw

freertos and pool read helper fix

This commit is contained in:
2021-01-06 21:33:54 +01:00
parent dacdfc62d3
commit 2b287dfc3a
2 changed files with 8 additions and 5 deletions

View File

@ -9,10 +9,12 @@
*/
class PoolReadHelper {
public:
PoolReadHelper(ReadCommitIF* readObject, uint32_t mutexTimeout = 20):
PoolReadHelper(ReadCommitIF* readObject,
MutexIF::TimeoutType timeoutType = MutexIF::TimeoutType::WAITING,
uint32_t mutexTimeout = 20):
readObject(readObject), mutexTimeout(mutexTimeout) {
if(readObject != nullptr) {
readResult = readObject->read(mutexTimeout);
readResult = readObject->read(timeoutType, mutexTimeout);
#if FSFW_PRINT_VERBOSITY_LEVEL == 1
#if FSFW_CPP_OSTREAM_ENABLED == 1
sif::error << "PoolReadHelper: Read failed!" << std::endl;
@ -27,7 +29,7 @@ public:
~PoolReadHelper() {
if(readObject != nullptr) {
readObject->commit(mutexTimeout);
readObject->commit(timeoutType, mutexTimeout);
}
}
@ -35,6 +37,7 @@ public:
private:
ReadCommitIF* readObject = nullptr;
ReturnValue_t readResult = HasReturnvaluesIF::RETURN_OK;
MutexIF::TimeoutType timeoutType = MutexIF::TimeoutType::WAITING;
uint32_t mutexTimeout = 20;
};