浏览代码

Bug 1878: Resume transfer when FTP data connection disconnects

https://winscp.net/tracker/1878
(cherry picked from commit 022dcddf9732af91acd006c1e69d485886293c7c)

Source commit: 3d7c22f10ec62fd493511721b09889a122b440ce
Martin Prikryl 5 年之前
父节点
当前提交
253fb4dcd5
共有 1 个文件被更改,包括 6 次插入0 次删除
  1. 6 0
      source/filezilla/FtpControlSocket.cpp

+ 6 - 0
source/filezilla/FtpControlSocket.cpp

@@ -2566,6 +2566,12 @@ void CFtpControlSocket::ResetTransferSocket(bool Error)
   }
   delete m_pTransferSocket;
   m_pTransferSocket = NULL;
+  if (Error)
+  {
+    // close the control connection too to allow reconnect => transfer resume
+    LogMessage(FZ_LOG_WARNING, L"Transfer connection failed, closing");
+    DoClose();
+  }
 }
 
 void CFtpControlSocket::FileTransfer(t_transferfile *transferfile/*=0*/,BOOL bFinish/*=FALSE*/,int nError/*=0*/)