From dd6216980548f0f3c8b19d344222b85173cd0b8b Mon Sep 17 00:00:00 2001 From: "Clappier, Eric" Date: Mon, 17 Jan 2022 08:41:50 +0100 Subject: [PATCH] Take into account PR remarks --- lib/src/fty_common_nut_utils_private.cc | 32 +++++++++++++++---------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/lib/src/fty_common_nut_utils_private.cc b/lib/src/fty_common_nut_utils_private.cc index 0dcb036..aab5e87 100644 --- a/lib/src/fty_common_nut_utils_private.cc +++ b/lib/src/fty_common_nut_utils_private.cc @@ -48,29 +48,35 @@ int runCommand( int count = msTimeout / WAIT_TIMEOUT_LOOP; if (count < 1) count = 1; bool resulOk = false; - std::string tmp; + std::string tmpOutput, tmpError; while (count > 0) { auto res = proc.wait(WAIT_TIMEOUT_LOOP); - if (!res && res.error() == "timeout") { - count --; - tmp += proc.readAllStandardOutput(); - logTrace("Wait process timeout, count={} tmp.size={}", count, tmp.size()); - continue; - } else if (!res) { - logWarn("Cannot wait process, error: {}", res.error()); - break; + if (!res) { + if (res.error() == "timeout") { + count --; + tmpOutput += proc.readAllStandardOutput(); + tmpError += proc.readAllStandardError(); + logTrace("Wait process timeout, count={} tmpOutput.size={} tmpError.size={}", + count, tmpOutput.size(), tmpError.size()); + } + else { + logWarn("Cannot wait process, error: {}", res.error()); + break; + } } else { - tmp += proc.readAllStandardOutput(); - logTrace("Wait process count={} *res={} tmp.size={}", count, *res, tmp.size()); + tmpOutput += proc.readAllStandardOutput(); + tmpError += proc.readAllStandardError(); + logTrace("Wait process count={} *res={} tmpOutput.size={} tmpError.size={}", + count, *res, tmpOutput.size(), tmpError.size()); resulOk = (*res == 0); break; } } if (resulOk) { - stdout = tmp; + stdout = tmpOutput; + stderr = tmpError; } - stderr = proc.readAllStandardError(); if (!stdout.empty()) { logTrace("Standard output:\n{}", stdout);