From 03f6c1e1f63ed6b924706319ccfffcf41678e790 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Blin?=
 <sebastien.blin@savoirfairelinux.com>
Date: Thu, 29 Aug 2019 15:13:38 -0400
Subject: [PATCH] file transfer: fix cancel

Change-Id: If13deebef78da9864522969c595beb5fc6a095de
Gitlab: #141
---
 src/peer_connection.cpp      | 9 +--------
 src/peer_connection.h        | 1 -
 src/security/tls_session.cpp | 5 ++---
 3 files changed, 3 insertions(+), 12 deletions(-)

diff --git a/src/peer_connection.cpp b/src/peer_connection.cpp
index 7e987ed42b..82000ee6cc 100644
--- a/src/peer_connection.cpp
+++ b/src/peer_connection.cpp
@@ -493,14 +493,7 @@ TlsSocketEndpoint::TlsSocketEndpoint(AbstractSocketEndpoint& tr,
 }
 
 
-TlsSocketEndpoint::~TlsSocketEndpoint() {
-    shutdown();
-}
-
-void
-TlsSocketEndpoint::shutdown() {
-    pimpl_->tr.shutdown();
-}
+TlsSocketEndpoint::~TlsSocketEndpoint() = default;
 
 bool
 TlsSocketEndpoint::isInitiator() const
diff --git a/src/peer_connection.h b/src/peer_connection.h
index 99df375505..11a00554f8 100644
--- a/src/peer_connection.h
+++ b/src/peer_connection.h
@@ -187,7 +187,6 @@ public:
                     std::function<bool(const dht::crypto::Certificate&)>&& cert_check);
     ~TlsSocketEndpoint();
 
-    void shutdown() override;
     bool isReliable() const override { return true; }
     bool isInitiator() const override;
     int maxPayload() const override;
diff --git a/src/security/tls_session.cpp b/src/security/tls_session.cpp
index 112206059f..e0a6c7ce27 100644
--- a/src/security/tls_session.cpp
+++ b/src/security/tls_session.cpp
@@ -735,9 +735,6 @@ TlsSession::TlsSessionImpl::cleanup()
     state_ = TlsSessionState::SHUTDOWN; // be sure to block any user operations
     stateCondition_.notify_all();
 
-    // This will stop current read of the ice_transport.cpp
-    transport_.shutdown();
-
     {
         std::lock_guard<std::mutex> lk(sessionMutex_);
         if (session_) {
@@ -752,6 +749,8 @@ TlsSession::TlsSessionImpl::cleanup()
 
     if (cookie_key_.data)
         gnutls_free(cookie_key_.data);
+
+    transport_.shutdown();
 }
 
 TlsSessionState
-- 
GitLab