manually quit kauth's mainloop
Summary: kauth helpers have a qcoreapplication started which auto-terminates after 10 seconds of idle time. this would be an added time out on top of our life time management that is not necessary. to prevent this additional delay simply quit the qapplication directly. this makes helper termination almost instantaneous even when the dbus client disappears due to crash or SIGINT, and largely removes the need to call stopHelper altogether. BUG: 408245 Test Plan: both partitionmanager and calamares instantly quit the helper no matter how the client process gets terminated other than that everything seems to work as before Reviewers: stikonas Differential Revision: https://phabricator.kde.org/D21559
This commit is contained in:
parent
6a3b1e02b6
commit
9b45e25f81
|
@ -20,6 +20,7 @@
|
||||||
#include "externalcommand_whitelist.h"
|
#include "externalcommand_whitelist.h"
|
||||||
|
|
||||||
#include <QtDBus>
|
#include <QtDBus>
|
||||||
|
#include <QCoreApplication>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
#include <QFile>
|
#include <QFile>
|
||||||
#include <QString>
|
#include <QString>
|
||||||
|
@ -82,6 +83,11 @@ ActionReply ExternalCommandHelper::init(const QVariantMap& args)
|
||||||
m_loop->exec();
|
m_loop->exec();
|
||||||
reply.addData(QStringLiteral("success"), true);
|
reply.addData(QStringLiteral("success"), true);
|
||||||
|
|
||||||
|
// Also end the application loop started by KAuth's main() code. Our loop
|
||||||
|
// exits when our client disappears. Without client we have no reason to
|
||||||
|
// live.
|
||||||
|
qApp->quit();
|
||||||
|
|
||||||
return reply;
|
return reply;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue