summaryrefslogtreecommitdiffstats
path: root/src/core/unixprocessbackend.cpp
diff options
context:
space:
mode:
authorAndrew Christian <andrew.christian@nokia.com>2012-02-28 15:03:12 +0100
committerChris Craig <ext-chris.craig@nokia.com>2012-02-28 18:26:22 +0100
commitb7abaf043c510456f0a20013db9c38fbcd822ddc (patch)
treecab342368eb2edf80c6055d207ec68092503fa7d /src/core/unixprocessbackend.cpp
parentd996e4d26539a0a80a63d03fc75ea37d916733d2 (diff)
Move process group killing to common location
Change-Id: Icff9cd4073684ba7cc314b69b3efc6c0bf7cff99 Reviewed-by: Chris Craig <ext-chris.craig@nokia.com>
Diffstat (limited to 'src/core/unixprocessbackend.cpp')
-rw-r--r--src/core/unixprocessbackend.cpp18
1 files changed, 3 insertions, 15 deletions
diff --git a/src/core/unixprocessbackend.cpp b/src/core/unixprocessbackend.cpp
index ff33c34..76bd063 100644
--- a/src/core/unixprocessbackend.cpp
+++ b/src/core/unixprocessbackend.cpp
@@ -37,8 +37,6 @@
**
****************************************************************************/
-
-
#include "unixprocessbackend.h"
#include "unixsandboxprocess.h"
#include "procutils.h"
@@ -50,16 +48,6 @@
QT_BEGIN_NAMESPACE_PROCESSMANAGER
-static void sendSignalToProcess(pid_t pid, int sig)
-{
- pid_t pgrp = ::getpgid(pid);
- if (pgrp != -1 && pgrp != ::getpgrp() && ::killpg(pgrp, sig) == 0)
- return;
-
- qWarning("Unable terminate process group: %d, directly killing process %d", pgrp, pid);
- ::kill(pid, sig);
-}
-
/*!
\class UnixProcessBackend
\brief The UnixProcessBackend class wraps a QProcess object
@@ -84,7 +72,7 @@ UnixProcessBackend::UnixProcessBackend(const ProcessInfo& info, QObject *parent)
UnixProcessBackend::~UnixProcessBackend()
{
if (m_process && m_process->state() != QProcess::NotRunning)
- sendSignalToProcess(m_process->pid(), SIGKILL);
+ ProcUtils::sendSignalToProcess(m_process->pid(), SIGKILL);
}
/*!
@@ -235,11 +223,11 @@ void UnixProcessBackend::stop(int timeout)
if (m_process->state() != QProcess::NotRunning) {
if (timeout > 0) {
- sendSignalToProcess(m_process->pid(), SIGTERM);
+ ProcUtils::sendSignalToProcess(m_process->pid(), SIGTERM);
m_killTimer.start(timeout);
}
else {
- sendSignalToProcess(m_process->pid(), SIGKILL);
+ ProcUtils::sendSignalToProcess(m_process->pid(), SIGKILL);
}
}
}