ios: kill simulator process when stopping runner

Change-Id: I998eb9cd3d532c2818c139688d516003d4833b27
Reviewed-by: David Schulz <david.schulz@digia.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
This commit is contained in:
Fawzi Mohamed
2013-10-28 08:16:05 +01:00
parent ddee9bdf56
commit 15e0442324
2 changed files with 11 additions and 2 deletions

View File

@@ -43,6 +43,8 @@
#include <QTime>
#include <QMessageBox>
#include <signal.h>
namespace Ios {
namespace Internal {
@@ -50,7 +52,7 @@ IosRunner::IosRunner(QObject *parent, IosRunConfiguration *runConfig, bool debug
: QObject(parent), m_toolHandler(0), m_bundleDir(runConfig->bundleDir().toString()),
m_arguments(runConfig->commandLineArguments()),
m_device(ProjectExplorer::DeviceKitInformation::device(runConfig->target()->kit())),
m_debuggingMode(debuggingMode), m_cleanExit(false)
m_debuggingMode(debuggingMode), m_cleanExit(false), m_pid(0)
{
}
@@ -121,8 +123,13 @@ void IosRunner::start()
void IosRunner::stop()
{
if (m_toolHandler)
if (m_toolHandler) {
#ifdef Q_OS_UNIX
if (m_pid > 0)
kill(m_pid, SIGKILL);
#endif
m_toolHandler->stop();
}
}
void IosRunner::handleDidStartApp(IosToolHandler *handler, const QString &bundlePath,
@@ -145,6 +152,7 @@ void IosRunner::handleGotInferiorPid(IosToolHandler *handler, const QString &bun
const QString &deviceId, Q_PID pid)
{
Q_UNUSED(bundlePath); Q_UNUSED(deviceId);
m_pid = pid;
if (m_toolHandler == handler)
emit gotInferiorPid(pid);
}