Create a timer to wait for system to free resources
Reviewers: stikonas Reviewed By: stikonas Differential Revision: https://phabricator.kde.org/D21696
This commit is contained in:
parent
ef20244be5
commit
2627d476f4
|
@ -119,13 +119,12 @@ void ExternalCommand::setup()
|
||||||
*/
|
*/
|
||||||
bool ExternalCommand::start(int timeout)
|
bool ExternalCommand::start(int timeout)
|
||||||
{
|
{
|
||||||
Q_UNUSED(timeout)
|
|
||||||
|
|
||||||
if (command().isEmpty())
|
if (command().isEmpty())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (!QDBusConnection::systemBus().isConnected()) {
|
if (!QDBusConnection::systemBus().isConnected()) {
|
||||||
qWarning() << QDBusConnection::systemBus().lastError().message();
|
qWarning() << QDBusConnection::systemBus().lastError().message();
|
||||||
|
QTimer::singleShot(timeout, this, &ExternalCommand::quit);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -168,6 +167,8 @@ bool ExternalCommand::start(int timeout)
|
||||||
connect(watcher, &QDBusPendingCallWatcher::finished, exitLoop);
|
connect(watcher, &QDBusPendingCallWatcher::finished, exitLoop);
|
||||||
loop.exec();
|
loop.exec();
|
||||||
|
|
||||||
|
QTimer::singleShot(timeout, this, &ExternalCommand::quit);
|
||||||
|
|
||||||
return rval;
|
return rval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -339,6 +340,12 @@ void ExternalCommand::setExitCode(int i)
|
||||||
d->m_ExitCode = i;
|
d->m_ExitCode = i;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**< Dummy function for QTimer when needed. */
|
||||||
|
void ExternalCommand::quit()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
bool ExternalCommand::startHelper()
|
bool ExternalCommand::startHelper()
|
||||||
{
|
{
|
||||||
if (!QDBusConnection::systemBus().isConnected()) {
|
if (!QDBusConnection::systemBus().isConnected()) {
|
||||||
|
|
|
@ -104,6 +104,9 @@ public:
|
||||||
|
|
||||||
void emitReport(const QVariantMap& report) { emit reportSignal(report); }
|
void emitReport(const QVariantMap& report) { emit reportSignal(report); }
|
||||||
|
|
||||||
|
/**< Dummy function for QTimer when needed. */
|
||||||
|
void quit();
|
||||||
|
|
||||||
// KAuth
|
// KAuth
|
||||||
/**< start ExternalCommand Helper */
|
/**< start ExternalCommand Helper */
|
||||||
bool startHelper();
|
bool startHelper();
|
||||||
|
|
Loading…
Reference in New Issue