summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/libs/installer/packagemanagercore_p.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/libs/installer/packagemanagercore_p.cpp b/src/libs/installer/packagemanagercore_p.cpp
index 52e732e49..7ed6d5a29 100644
--- a/src/libs/installer/packagemanagercore_p.cpp
+++ b/src/libs/installer/packagemanagercore_p.cpp
@@ -942,6 +942,7 @@ void PackageManagerCorePrivate::stopProcessesForUpdates(const QList<Component*>
if (processList.isEmpty())
return;
+ uint retryCount = 5;
while (true) {
const QStringList processes = checkRunningProcessesFromList(processList);
if (processes.isEmpty())
@@ -959,6 +960,12 @@ void PackageManagerCorePrivate::stopProcessesForUpdates(const QList<Component*>
m_core->setCanceled();
throw Error(tr("Installation canceled by user"));
}
+ if (!m_core->isCommandLineInstance())
+ continue;
+
+ // Do not allow infinite retries with cli instance
+ if (--retryCount == 0)
+ throw Error(tr("Retry count exceeded"));
}
}