Android: Hide process deleter a bit

This also avoid a spurious(?) code model warning about
"function 'deleter' is not needed and will not be emitted"

Change-Id: I76372866ec1a51b3adc350d83b8efcd497b02cb5
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
This commit is contained in:
hjk
2018-05-08 11:54:32 +02:00
parent dd57d0b49d
commit 736f7f89d1
2 changed files with 19 additions and 18 deletions

View File

@@ -42,17 +42,6 @@ namespace Internal {
const int MIN_SOCKET_HANDSHAKE_PORT = 20001;
static inline void deleter(QProcess *p)
{
p->terminate();
if (!p->waitForFinished(1000)) {
p->kill();
p->waitForFinished();
}
// Might get deleted from its own signal handler.
p->deleteLater();
}
class AndroidRunnerWorkerBase : public QObject
{
Q_OBJECT
@@ -88,13 +77,14 @@ protected:
Settled
};
virtual void onProcessIdChanged(qint64 pid);
using Deleter = void (*)(QProcess *);
// Create the processes and timer in the worker thread, for correct thread affinity
AndroidRunnable m_androidRunnable;
QString m_adb;
qint64 m_processPID = -1;
std::unique_ptr<QProcess, decltype(&deleter)> m_adbLogcatProcess;
std::unique_ptr<QProcess, decltype(&deleter)> m_psIsAlive;
std::unique_ptr<QProcess, Deleter> m_adbLogcatProcess;
std::unique_ptr<QProcess, Deleter> m_psIsAlive;
QByteArray m_stdoutBuffer;
QByteArray m_stderrBuffer;
QRegExp m_logCatRegExp;
@@ -107,8 +97,8 @@ protected:
QString m_lastRunAdbError;
JDBState m_jdbState = JDBState::Idle;
Utils::Port m_localJdbServerPort;
std::unique_ptr<QProcess, decltype(&deleter)> m_gdbServerProcess;
std::unique_ptr<QProcess, decltype(&deleter)> m_jdbProcess;
std::unique_ptr<QProcess, Deleter> m_gdbServerProcess;
std::unique_ptr<QProcess, Deleter> m_jdbProcess;
};