From bbadda2f2579b6e102ed9463e803a8ac9b86289a Mon Sep 17 00:00:00 2001 From: hjk Date: Tue, 2 Feb 2016 15:43:00 +0100 Subject: [PATCH] Valgrind: Use SshConnectionManager to handle connections Change-Id: I15a985880cdd48b74524089492dc9a32f7448999 Reviewed-by: Christian Kandeler --- src/plugins/valgrind/valgrindprocess.cpp | 11 +++++++++-- src/plugins/valgrind/valgrindprocess.h | 1 + 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/plugins/valgrind/valgrindprocess.cpp b/src/plugins/valgrind/valgrindprocess.cpp index b2b3cc318bc..9adf86ad680 100644 --- a/src/plugins/valgrind/valgrindprocess.cpp +++ b/src/plugins/valgrind/valgrindprocess.cpp @@ -26,6 +26,8 @@ #include "valgrindprocess.h" +#include + #include #include #include @@ -46,6 +48,12 @@ ValgrindProcess::ValgrindProcess(const IDevice::ConstPtr &device, m_pid = 0; } +ValgrindProcess::~ValgrindProcess() +{ + if (m_remote.m_connection) + QSsh::releaseConnection(m_remote.m_connection); +} + void ValgrindProcess::setProcessChannelMode(QProcess::ProcessChannelMode mode) { if (isLocal()) @@ -125,9 +133,8 @@ void ValgrindProcess::run() } else { // connect to host and wait for connection - // FIXME: Use aquireConnection() instead. if (!m_remote.m_connection) - m_remote.m_connection = new QSsh::SshConnection(m_device->sshParameters(), this); + m_remote.m_connection = QSsh::acquireConnection(m_device->sshParameters()); if (m_remote.m_connection->state() != QSsh::SshConnection::Connected) { connect(m_remote.m_connection, &QSsh::SshConnection::connected, diff --git a/src/plugins/valgrind/valgrindprocess.h b/src/plugins/valgrind/valgrindprocess.h index a4e78d2e1fe..c86a5c3ea28 100644 --- a/src/plugins/valgrind/valgrindprocess.h +++ b/src/plugins/valgrind/valgrindprocess.h @@ -47,6 +47,7 @@ class ValgrindProcess : public QObject public: ValgrindProcess(const ProjectExplorer::IDevice::ConstPtr &device, QObject *parent); + ~ValgrindProcess(); bool isRunning() const;