forked from qt-creator/qt-creator
Android: Remove various waitForFinished(-1)
That waits forever. For processes that should finish in a reasonable time, we should not wait forever. I changed most of the waits to 5s, all of those functions do handle a failed waitForFinished. I doubt that all callers do also handle it correctly, but that's probably still better than waiting forever. Task-number: QTCREATORBUG-10868 Change-Id: I368a911f19a4f81d71b24cf9d58796bd99878040 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
This commit is contained in:
@@ -250,7 +250,7 @@ void AndroidConfigurations::updateAvailableSdkPlatforms()
|
|||||||
QProcess proc;
|
QProcess proc;
|
||||||
proc.setProcessEnvironment(androidToolEnvironment().toProcessEnvironment());
|
proc.setProcessEnvironment(androidToolEnvironment().toProcessEnvironment());
|
||||||
proc.start(androidToolPath().toString(), QStringList() << QLatin1String("list") << QLatin1String("target")); // list avaialbe AVDs
|
proc.start(androidToolPath().toString(), QStringList() << QLatin1String("list") << QLatin1String("target")); // list avaialbe AVDs
|
||||||
if (!proc.waitForFinished(-1)) {
|
if (!proc.waitForFinished(5000)) {
|
||||||
proc.terminate();
|
proc.terminate();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -460,7 +460,7 @@ QVector<AndroidDeviceInfo> AndroidConfigurations::connectedDevices(QString *erro
|
|||||||
QVector<AndroidDeviceInfo> devices;
|
QVector<AndroidDeviceInfo> devices;
|
||||||
QProcess adbProc;
|
QProcess adbProc;
|
||||||
adbProc.start(adbToolPath().toString(), QStringList() << QLatin1String("devices"));
|
adbProc.start(adbToolPath().toString(), QStringList() << QLatin1String("devices"));
|
||||||
if (!adbProc.waitForFinished(-1)) {
|
if (!adbProc.waitForFinished(5000)) {
|
||||||
adbProc.kill();
|
adbProc.kill();
|
||||||
if (error)
|
if (error)
|
||||||
*error = tr("Could not run: %1").arg(adbToolPath().toString() + QLatin1String(" devices"));
|
*error = tr("Could not run: %1").arg(adbToolPath().toString() + QLatin1String(" devices"));
|
||||||
@@ -579,7 +579,7 @@ bool AndroidConfigurations::removeAVD(const QString &name) const
|
|||||||
proc.start(androidToolPath().toString(),
|
proc.start(androidToolPath().toString(),
|
||||||
QStringList() << QLatin1String("delete") << QLatin1String("avd")
|
QStringList() << QLatin1String("delete") << QLatin1String("avd")
|
||||||
<< QLatin1String("-n") << name);
|
<< QLatin1String("-n") << name);
|
||||||
if (!proc.waitForFinished(-1)) {
|
if (!proc.waitForFinished(5000)) {
|
||||||
proc.terminate();
|
proc.terminate();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -593,7 +593,7 @@ QVector<AndroidDeviceInfo> AndroidConfigurations::androidVirtualDevices() const
|
|||||||
proc.setProcessEnvironment(androidToolEnvironment().toProcessEnvironment());
|
proc.setProcessEnvironment(androidToolEnvironment().toProcessEnvironment());
|
||||||
proc.start(androidToolPath().toString(),
|
proc.start(androidToolPath().toString(),
|
||||||
QStringList() << QLatin1String("list") << QLatin1String("avd")); // list available AVDs
|
QStringList() << QLatin1String("list") << QLatin1String("avd")); // list available AVDs
|
||||||
if (!proc.waitForFinished(-1)) {
|
if (!proc.waitForFinished(5000)) {
|
||||||
proc.terminate();
|
proc.terminate();
|
||||||
return devices;
|
return devices;
|
||||||
}
|
}
|
||||||
@@ -725,7 +725,7 @@ bool AndroidConfigurations::isBootToQt(const QString &device) const
|
|||||||
|
|
||||||
QProcess adbProc;
|
QProcess adbProc;
|
||||||
adbProc.start(adbToolPath().toString(), arguments);
|
adbProc.start(adbToolPath().toString(), arguments);
|
||||||
if (!adbProc.waitForFinished(-1)) {
|
if (!adbProc.waitForFinished(5000)) {
|
||||||
adbProc.kill();
|
adbProc.kill();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -741,7 +741,7 @@ int AndroidConfigurations::getSDKVersion(const QString &device) const
|
|||||||
|
|
||||||
QProcess adbProc;
|
QProcess adbProc;
|
||||||
adbProc.start(adbToolPath().toString(), arguments);
|
adbProc.start(adbToolPath().toString(), arguments);
|
||||||
if (!adbProc.waitForFinished(-1)) {
|
if (!adbProc.waitForFinished(5000)) {
|
||||||
adbProc.kill();
|
adbProc.kill();
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@@ -764,7 +764,7 @@ QString AndroidConfigurations::getProductModel(const QString &device) const
|
|||||||
|
|
||||||
QProcess adbProc;
|
QProcess adbProc;
|
||||||
adbProc.start(adbToolPath().toString(), arguments);
|
adbProc.start(adbToolPath().toString(), arguments);
|
||||||
if (!adbProc.waitForFinished(-1)) {
|
if (!adbProc.waitForFinished(5000)) {
|
||||||
adbProc.kill();
|
adbProc.kill();
|
||||||
return device;
|
return device;
|
||||||
}
|
}
|
||||||
@@ -784,7 +784,7 @@ bool AndroidConfigurations::hasFinishedBooting(const QString &device) const
|
|||||||
|
|
||||||
QProcess adbProc;
|
QProcess adbProc;
|
||||||
adbProc.start(adbToolPath().toString(), arguments);
|
adbProc.start(adbToolPath().toString(), arguments);
|
||||||
if (!adbProc.waitForFinished(-1)) {
|
if (!adbProc.waitForFinished(5000)) {
|
||||||
adbProc.kill();
|
adbProc.kill();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -807,7 +807,7 @@ QStringList AndroidConfigurations::getAbis(const QString &device) const
|
|||||||
|
|
||||||
QProcess adbProc;
|
QProcess adbProc;
|
||||||
adbProc.start(adbToolPath().toString(), arguments);
|
adbProc.start(adbToolPath().toString(), arguments);
|
||||||
if (!adbProc.waitForFinished(-1)) {
|
if (!adbProc.waitForFinished(5000)) {
|
||||||
adbProc.kill();
|
adbProc.kill();
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -281,7 +281,7 @@ unsigned int AndroidDeployStep::remoteModificationTime(const QString &fullDestin
|
|||||||
QStringList arguments = AndroidDeviceInfo::adbSelector(m_deviceSerialNumber);
|
QStringList arguments = AndroidDeviceInfo::adbSelector(m_deviceSerialNumber);
|
||||||
arguments << QLatin1String("ls") << destination;
|
arguments << QLatin1String("ls") << destination;
|
||||||
process.start(AndroidConfigurations::instance().adbToolPath().toString(), arguments);
|
process.start(AndroidConfigurations::instance().adbToolPath().toString(), arguments);
|
||||||
process.waitForFinished(-1);
|
process.waitForFinished(5000);
|
||||||
if (process.error() != QProcess::UnknownError
|
if (process.error() != QProcess::UnknownError
|
||||||
|| process.exitCode() != 0)
|
|| process.exitCode() != 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|||||||
@@ -217,7 +217,7 @@ void AndroidRunner::asyncStart()
|
|||||||
emit remoteProcessFinished(tr("Failed to forward C++ debugging ports. Reason: %1.").arg(adb.errorString()));
|
emit remoteProcessFinished(tr("Failed to forward C++ debugging ports. Reason: %1.").arg(adb.errorString()));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!adb.waitForFinished(-1)) {
|
if (!adb.waitForFinished(5000)) {
|
||||||
emit remoteProcessFinished(tr("Failed to forward C++ debugging ports."));
|
emit remoteProcessFinished(tr("Failed to forward C++ debugging ports."));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -260,7 +260,7 @@ void AndroidRunner::asyncStart()
|
|||||||
emit remoteProcessFinished(tr("Failed to start the activity. Reason: %1.").arg(adb.errorString()));
|
emit remoteProcessFinished(tr("Failed to start the activity. Reason: %1.").arg(adb.errorString()));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!adb.waitForFinished(-1)) {
|
if (!adb.waitForFinished(5000)) {
|
||||||
adb.terminate();
|
adb.terminate();
|
||||||
emit remoteProcessFinished(tr("Unable to start '%1'.").arg(m_packageName));
|
emit remoteProcessFinished(tr("Unable to start '%1'.").arg(m_packageName));
|
||||||
return;
|
return;
|
||||||
|
|||||||
Reference in New Issue
Block a user