diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2018-12-12 17:16:49 +0100 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2018-12-14 16:17:00 +0000 |
commit | cc812e841b7907a19ad5c03abdf203307deaaf78 (patch) | |
tree | 64c04c0239f88286bb6461b0c5ab930e2993647c | |
parent | ccefa38e197cc28811394967f1aed6ed852e433d (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.cpp | 8 |
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); |