summaryrefslogtreecommitdiff
path: root/src/libs/ssh/sshconnectionmanager.cpp
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@nokia.com>2012-08-17 17:33:06 +0200
committerChristian Kandeler <christian.kandeler@nokia.com>2012-08-20 10:54:14 +0200
commitd6e85d5522bbc0045706c7dd48288d0dcaf4b831 (patch)
tree884ffabfe23d8ac1bf828f5ed328994337723cee /src/libs/ssh/sshconnectionmanager.cpp
parent1e71dccc9e536f49a72e094a00caaffb99984545 (diff)
downloadqt-creator-d6e85d5522bbc0045706c7dd48288d0dcaf4b831.tar.gz
SSH: Take more care when closing channels.
We can't just pretend a channel is already gone after we request it to close; it's only closed when the server has sent the acknowledgement. Change-Id: Ib6e8b9bf77635995259885af13755f5fc0e825a9 Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
Diffstat (limited to 'src/libs/ssh/sshconnectionmanager.cpp')
-rw-r--r--src/libs/ssh/sshconnectionmanager.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/libs/ssh/sshconnectionmanager.cpp b/src/libs/ssh/sshconnectionmanager.cpp
index 293ac6e9d2..04aa2effe1 100644
--- a/src/libs/ssh/sshconnectionmanager.cpp
+++ b/src/libs/ssh/sshconnectionmanager.cpp
@@ -97,6 +97,8 @@ public:
continue;
if (connection->thread() != QThread::currentThread()) {
+ if (connection->channelCount() != 0)
+ continue;
QMetaObject::invokeMethod(this, "switchToCallerThread",
Qt::BlockingQueuedConnection,
Q_ARG(SshConnection *, connection),