From f3480da43ee4176bc2c91f51ed52d29e6ef36599 Mon Sep 17 00:00:00 2001 From: Marek Niepieklo Date: Wed, 4 Aug 2021 10:46:50 +0200 Subject: [PATCH] [EGD-7269] Phone stuck on log dump operation Problem occured when logging while log was flushed to file --- module-utils/log/Logger.cpp | 4 +--- module-utils/log/Logger.hpp | 1 + 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/module-utils/log/Logger.cpp b/module-utils/log/Logger.cpp index 34eb3a83ff17fabba0b26f2bfd900d38dc4772f1..f3e7485cfefcd4083a423867d9e5e9a1ba81b512 100644 --- a/module-utils/log/Logger.cpp +++ b/module-utils/log/Logger.cpp @@ -135,12 +135,10 @@ namespace Log { status = 1; - const auto &logs = getLogs(); - LockGuard lock(mutex); + LockGuard lock(flushMutex); std::fstream logFile(logPath, std::fstream::out | std::fstream::app); - if (!logFile.good()) { status = -EIO; } diff --git a/module-utils/log/Logger.hpp b/module-utils/log/Logger.hpp index c845a69fe0dc9063a40122396d903b6136844bee..3a7278be32cab7b1111d1e66157b8bf9a7e2a6d2 100644 --- a/module-utils/log/Logger.hpp +++ b/module-utils/log/Logger.hpp @@ -65,6 +65,7 @@ namespace Log } cpp_freertos::MutexStandard mutex; + cpp_freertos::MutexStandard flushMutex; logger_level level{LOGTRACE}; const LogColors *logColors = &logColorsOff; char loggerBuffer[LOGGER_BUFFER_SIZE] = {0};