From e5a3566362306c5cfe54ee9dcc9d9389c0b1d8cb Mon Sep 17 00:00:00 2001 From: Marcus Tillmanns Date: Tue, 18 Feb 2025 13:34:04 +0100 Subject: [PATCH] Docker: Improve DockerApi::canConnect Replaced Process::start with Process::runBlocking and some general cleanup. Change-Id: I5e2be010b4e6d799d586dbbcd86ca5bf64294ccb Reviewed-by: hjk --- src/plugins/docker/dockerapi.cpp | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/src/plugins/docker/dockerapi.cpp b/src/plugins/docker/dockerapi.cpp index f19bee6abe1..7096b66e006 100644 --- a/src/plugins/docker/dockerapi.cpp +++ b/src/plugins/docker/dockerapi.cpp @@ -38,22 +38,19 @@ bool DockerApi::canConnect() { Process process; FilePath dockerExe = dockerClient(); - if (dockerExe.isEmpty() || !dockerExe.isExecutableFile()) + if (dockerExe.isEmpty()) return false; - bool result = false; - process.setCommand({dockerExe, {"info"}}); - connect(&process, &Process::done, [&process, &result] { + process.runBlocking(); + + const bool success = process.result() == ProcessResult::FinishedWithSuccess; + if (!success) + qCWarning(dockerApiLog) << "Failed to connect to docker daemon:" << process.allOutput(); + else qCInfo(dockerApiLog) << "'docker info' result:\n" << qPrintable(process.allOutput()); - if (process.result() == ProcessResult::FinishedWithSuccess) - result = true; - }); - process.start(); - process.waitForFinished(); - - return result; + return process.result() == ProcessResult::FinishedWithSuccess; } bool DockerApi::isContainerRunning(const QString &containerId)