From 93e3c3f36fbbbcff4df9a98fe3a667a61023af6d Mon Sep 17 00:00:00 2001 From: Christian Kandeler <christian.kandeler@nokia.com> Date: Fri, 7 Sep 2012 13:58:29 +0200 Subject: [PATCH] SSH: Emit finished() for all running SFTP jobs when the server closes. Otherwise a crashing SFTP server can leave the client hanging. Change-Id: Ie96d7a9797074ddea3b50a1788b8ef7cd4bcd5bf Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com> --- src/libs/ssh/sftpchannel.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/libs/ssh/sftpchannel.cpp b/src/libs/ssh/sftpchannel.cpp index c1e0206e09c..152afaa4535 100644 --- a/src/libs/ssh/sftpchannel.cpp +++ b/src/libs/ssh/sftpchannel.cpp @@ -832,6 +832,8 @@ SftpChannelPrivate::JobMap::Iterator SftpChannelPrivate::lookupJob(SftpJobId id) void SftpChannelPrivate::closeHook() { + for (JobMap::ConstIterator it = m_jobs.constBegin(); it != m_jobs.constEnd(); ++it) + emit finished(it.key(), tr("SFTP channel closed unexpectedly.")); m_jobs.clear(); m_incomingData.clear(); m_incomingPacket.clear(); -- GitLab