aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/remotelinux/linuxdevice.cpp5
-rw-r--r--src/plugins/remotelinux/linuxdevicetester.cpp1
2 files changed, 5 insertions, 1 deletions
diff --git a/src/plugins/remotelinux/linuxdevice.cpp b/src/plugins/remotelinux/linuxdevice.cpp
index ec4b688f019..496e4426b6a 100644
--- a/src/plugins/remotelinux/linuxdevice.cpp
+++ b/src/plugins/remotelinux/linuxdevice.cpp
@@ -1510,7 +1510,10 @@ bool LinuxDevice::isDisconnected() const
void LinuxDevice::tryToConnect(const Continuation<> &cont) const
{
- d->setupShell(sshParameters(), cont);
+ if (isDisconnected())
+ d->setupShell(sshParameters(), cont);
+ else
+ cont(ResultOk);
}
void LinuxDevice::closeConnection() const
diff --git a/src/plugins/remotelinux/linuxdevicetester.cpp b/src/plugins/remotelinux/linuxdevicetester.cpp
index 74e6a1ed0dd..aa0d8318c4f 100644
--- a/src/plugins/remotelinux/linuxdevicetester.cpp
+++ b/src/plugins/remotelinux/linuxdevicetester.cpp
@@ -100,6 +100,7 @@ class ConnectionTaskAdapter final
public:
void operator()(ConnectionData *data, Tasking::TaskInterface *iface)
{
+ data->device->closeConnection();
data->device->tryToConnect(Continuation<>(data->guard, [data, iface](const Result<> &res) {
if (data->guard) {
data->result = res;