diff options
author | Christian Kandeler <christian.kandeler@nokia.com> | 2012-08-17 17:33:06 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@nokia.com> | 2012-08-20 10:54:14 +0200 |
commit | d6e85d5522bbc0045706c7dd48288d0dcaf4b831 (patch) | |
tree | 884ffabfe23d8ac1bf828f5ed328994337723cee /src/libs/ssh/sshconnectionmanager.cpp | |
parent | 1e71dccc9e536f49a72e094a00caaffb99984545 (diff) | |
download | qt-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.cpp | 2 |
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), |