[qt/qt/qtapplicationmanager]: Summary of bulk changes made
KDE Git Services - Bulk Change <[email protected]>
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
Git repository change summary for qt/qt/qtapplicationmanager Pushed by mirror-service into branch '6.11'. Changed from 24efcdafb0dad94a73e56dbe0967896b3ef9095e to d216b5a0fd4daa0a43e454f504afdd0d468ab8d6 Acknowledgement was received that this change introduces only existing code that has been pushed to another public open source repository. This change contains the following new commits: Git commit 5a6b5819fdace3d7c697cfc0ffa3b5a1ce7cac19 by Qt Cherry-pick Bot (on behalf of Robert Griebl) on 21/07/2026 at 16:21.. NativeRuntime: recover from a lost process-exit notification onProcessError() used to ignore every error while the runtime was Running or ShuttingDown, assuming a finished() signal would always follow. That only holds for the 'Crashed' error - FailedToStart, ReadError, WriteError and Timedout are never followed by finished(). If such an error arrived while the runtime was in ShuttingDown (e.g. a fork/exec failure under load during a rapid stop/restart loop), shutdown() was never called: the runtime stayed wedged in ShuttingDown forever and ApplicationManager refused to start the application again. - onProcessError() now finishes the teardown for any non-Crashed error unless the runtime is still Running (where the process may legitimately still be alive). 'Crashed' continues to rely on the paired finished() so the real exit code is preserved. - stop() additionally arms a last-resort timer that forces shutdown() if the runtime is still in ShuttingDown after a generous grace period, covering the case where neither finished() nor any error is ever delivered. Change-Id: I08614e933721d0b4982a828b8d43e3ca20b917ca Pick-to: 6.8 Reviewed-by: Bernd Weimer <[email protected]> (cherry picked from commit 1b7d84b66848d917c2918af38bc6094ce25b5b5f) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 85d5d71944947c9d17a92e490283b8924a9b3218) https://invent.kde.org/qt/qt/qtapplicationmanager/-/commit/5a6b5819fdace3d7c697cfc0ffa3b5a1ce7cac19 Git commit d216b5a0fd4daa0a43e454f504afdd0d468ab8d6 by Qt Cherry-pick Bot (on behalf of Robert Griebl) on 21/07/2026 at 16:21.. NativeRuntime: only run shutdown() once A crashing or killed process makes the container process emit errorOccured() immediately followed by finished() (QProcess sends Crashed and then finished). If the runtime was still in StartingUp at that point, both onProcessError() and onProcessFinished() would call shutdown() on the same runtime, one right after the other. The first shutdown() sets the state to NotRunning, which can immediately trigger a restart from the System UI, creating a new runtime that then becomes the current one for the application. The second shutdown() then ran again on the old, now stale runtime and cleared Application::currentRuntime() - this time clearing the freshly created runtime instead. That left its process orphaned and the application's run-state inconsistent. Fix this by making shutdown() return early when it has already run once (tracked via m_shutdownDone). Change-Id: I36fbe5d51e93ec6a74a161378505e05b6b75cc0a Pick-to: 6.8 Reviewed-by: Bernd Weimer <[email protected]> (cherry picked from commit e7c3d37a8005cf62229de08a9a23919ba9a89e8d) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit eb0eca0c933967cd2dc50d22c199529579beb74e) https://invent.kde.org/qt/qt/qtapplicationmanager/-/commit/d216b5a0fd4daa0a43e454f504afdd0d468ab8d6