aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/ios/iostoolhandler.cpp
diff options
context:
space:
mode:
authorVikas Pachdha <[email protected]>2016-12-21 18:37:39 +0100
committerVikas Pachdha <[email protected]>2017-01-10 11:30:06 +0000
commit6c83981ee69f2b7fba4f3c7d3e260f257eae90f7 (patch)
tree68d2d950cdbd8f5896ca87a47ec49c673f3ec890 /src/plugins/ios/iostoolhandler.cpp
parentc14a24dca131f21737b2c27a479fe3373de9aee6 (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.cpp14
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);