diff options
author | Vikas Pachdha <[email protected]> | 2016-12-21 18:37:39 +0100 |
---|---|---|
committer | Vikas Pachdha <[email protected]> | 2017-01-10 11:30:06 +0000 |
commit | 6c83981ee69f2b7fba4f3c7d3e260f257eae90f7 (patch) | |
tree | 68d2d950cdbd8f5896ca87a47ec49c673f3ec890 /src/plugins/ios/iostoolhandler.cpp | |
parent | c14a24dca131f21737b2c27a479fe3373de9aee6 (diff) |
iOS: Use kill system call instead of shell command
Change-Id: Ic1d327ca2ed83ee91f78434cc1974ec247751483
Reviewed-by: Eike Ziller <[email protected]>
Diffstat (limited to 'src/plugins/ios/iostoolhandler.cpp')
-rw-r--r-- | src/plugins/ios/iostoolhandler.cpp | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/plugins/ios/iostoolhandler.cpp b/src/plugins/ios/iostoolhandler.cpp index b1c1773cfc1..64c362de47f 100644 --- a/src/plugins/ios/iostoolhandler.cpp +++ b/src/plugins/ios/iostoolhandler.cpp @@ -54,6 +54,7 @@ #include <QTimer> #include <QXmlStreamReader> +#include <signal.h> #include <string.h> #include <errno.h> @@ -930,16 +931,13 @@ void IosSimulatorToolHandlerPrivate::launchAppOnSimulator(const QStringList &ext "Install Xcode 8 or later.").arg(bundleId)); } - auto monitorPid = [this](QFutureInterface<int> &fi, qint64 pid) { - int exitCode = 0; - const QStringList args({QStringLiteral("-0"), QString::number(pid)}); - Utils::SynchronousProcess pKill; - while (!fi.isCanceled() && exitCode == 0) { + auto monitorPid = [this](QFutureInterface<void> &fi, qint64 pid) { +#ifdef Q_OS_UNIX + do { // Poll every 1 sec to check whether the app is running. QThread::msleep(1000); - Utils::SynchronousProcessResponse resp = pKill.runBlocking(QStringLiteral("kill"), args); - exitCode = resp.exitCode; - } + } while (!fi.isCanceled() && kill(pid, 0) == 0); +#endif // Future is cancelled if the app is stopped from the qt creator. if (!fi.isCanceled()) stop(0); |