aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2018-12-12 17:16:49 +0100
committerChristian Kandeler <christian.kandeler@qt.io>2018-12-14 16:17:00 +0000
commitcc812e841b7907a19ad5c03abdf203307deaaf78 (patch)
tree64c04c0239f88286bb6461b0c5ab930e2993647c
parentccefa38e197cc28811394967f1aed6ed852e433d (diff)
RemoteLinux: Use SSH connection sharing in device tester
No need to connect more than once during the testing process. Change-Id: I2401a2c1e5b940b6b12e86182d37a099e94680dd Reviewed-by: hjk <hjk@qt.io>
-rw-r--r--src/plugins/remotelinux/linuxdevicetester.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/plugins/remotelinux/linuxdevicetester.cpp b/src/plugins/remotelinux/linuxdevicetester.cpp
index 0702c41738..4ef601374c 100644
--- a/src/plugins/remotelinux/linuxdevicetester.cpp
+++ b/src/plugins/remotelinux/linuxdevicetester.cpp
@@ -31,6 +31,7 @@
#include <ssh/sftptransfer.h>
#include <ssh/sshremoteprocess.h>
#include <ssh/sshconnection.h>
+#include <ssh/sshconnectionmanager.h>
using namespace ProjectExplorer;
using namespace QSsh;
@@ -65,6 +66,8 @@ GenericLinuxDeviceTester::GenericLinuxDeviceTester(QObject *parent)
GenericLinuxDeviceTester::~GenericLinuxDeviceTester()
{
+ if (d->connection)
+ releaseConnection(d->connection);
delete d;
}
@@ -73,7 +76,8 @@ void GenericLinuxDeviceTester::testDevice(const IDevice::ConstPtr &deviceConfigu
QTC_ASSERT(d->state == Inactive, return);
d->deviceConfiguration = deviceConfiguration;
- d->connection = new SshConnection(deviceConfiguration->sshParameters(), this);
+ forceNewConnection(deviceConfiguration->sshParameters());
+ d->connection = acquireConnection(deviceConfiguration->sshParameters());
connect(d->connection, &SshConnection::connected,
this, &GenericLinuxDeviceTester::handleConnected);
connect(d->connection, &SshConnection::errorOccurred,
@@ -208,7 +212,7 @@ void GenericLinuxDeviceTester::setFinished(TestResult result)
}
if (d->connection) {
disconnect(d->connection, nullptr, this, nullptr);
- d->connection->deleteLater();
+ releaseConnection(d->connection);
d->connection = nullptr;
}
emit finished(result);