Explorar el Código

Prevent hang when closing TLS connection after network failure

Related to 2c0b486d, 5d68c005. Caused by 268f6355.

(cherry picked from commit aff5cba787eef3dbad88f075bb7a4986922fbee8)

Source commit: f22c61b43b880a3a1138ecb9efca02a0922b92d7
Martin Prikryl hace 4 años
padre
commit
a55d7c2d73
Se han modificado 1 ficheros con 2 adiciones y 2 borrados
  1. 2 2
      source/filezilla/AsyncSslSocketLayer.cpp

+ 2 - 2
source/filezilla/AsyncSslSocketLayer.cpp

@@ -606,10 +606,10 @@ int CAsyncSslSocketLayer::Receive(void* lpBuf, int nBufLen, int nFlags)
 
 void CAsyncSslSocketLayer::Close()
 {
-  if (!m_nShutDown && m_bSslEstablished && !m_nCriticalError)
+  if (!m_nShutDown && m_bSslEstablished && !m_nNetworkError && !m_nCriticalError)
   {
     ShutDown();
-    while (!ShutDownComplete())
+    while (!ShutDownComplete() && !m_nNetworkError && !m_nCriticalError)
     {
       OnSend(0);
     }