Commit 2beb1a0a authored by David Edmundson's avatar David Edmundson

Set error if a kjob host disappears from kuiserver with active jobs

Summary:
If the host of a kjob crashes or is killed kuiserver currently reports
that the job has been completed successfully. This is seriously wrong as
it could lead a user to perform a potentially destructive operation.

Setting any error (that's not 0 or 1) will cause plasmashell, the main
kuiserver view, to show a persistent notification that a job has failed.

For master I will use a more correct new enum, new error text, and a way
to tell for KIO operations to report to the uiserver if the host
crashing is important or not.

CCBUG: 352761

Test Plan:
Whilst copying a million files killed dolphin
Got a persistent error instead of a success message on the last file it was on

Moving files successfully then killing the app remained fine

Reviewers: #plasma, broulik

Reviewed By: #plasma, broulik

Subscribers: broulik, plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D17171
parent e9e3aa11
......@@ -325,6 +325,7 @@ void ProgressListModel::serviceUnregistered(const QString &name)
if (!jobs.isEmpty()) {
m_jobViewsOwners.remove(name);
Q_FOREACH(JobView *job, jobs) {
job->setError(KIO::ERR_SLAVE_DIED);
job->terminate(job->errorText());
}
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment