From 8c49dec477674b99694a6eb240eda1a5fbd363ff Mon Sep 17 00:00:00 2001 From: Luis Date: Sat, 25 Apr 2020 18:23:22 +0200 Subject: [PATCH] solved crash because of protocol being shutdown after the first connection. This is strange because nothing has changed in this part but resetting socket and not stopping ioservice solves it --- src/DesktopCore/Blink/Agents/SyncVideoAgent.cpp | 2 +- src/DesktopCore/Network/Services/HTTPClientService.cpp | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/DesktopCore/Blink/Agents/SyncVideoAgent.cpp b/src/DesktopCore/Blink/Agents/SyncVideoAgent.cpp index 4435aef..98f37ab 100644 --- a/src/DesktopCore/Blink/Agents/SyncVideoAgent.cpp +++ b/src/DesktopCore/Blink/Agents/SyncVideoAgent.cpp @@ -159,7 +159,7 @@ namespace desktop { namespace core { namespace agent { } else { - service::LogService::error("Video {} could not be downloaded at {}", video.second, downloadFolder); + service::LogService::error("Video {} could not be downloaded at {}", video.second, target); } setLastUpdateTimestamp(video.first); diff --git a/src/DesktopCore/Network/Services/HTTPClientService.cpp b/src/DesktopCore/Network/Services/HTTPClientService.cpp index a2e5486..b68c8c5 100644 --- a/src/DesktopCore/Network/Services/HTTPClientService.cpp +++ b/src/DesktopCore/Network/Services/HTTPClientService.cpp @@ -24,8 +24,6 @@ namespace desktop { namespace core { namespace service { | boost::asio::ssl::context::no_sslv2 | boost::asio::ssl::context::no_sslv3 | boost::asio::ssl::context::no_tlsv1); - - m_socket.reset(new boost::asio::ssl::stream(m_io_service, context_)); } HTTPClientService::~HTTPClientService() = default; @@ -53,6 +51,8 @@ namespace desktop { namespace core { namespace service { { try { + m_socket.reset(new boost::asio::ssl::stream(m_io_service, context_)); + tcp::resolver resolver(m_io_service); tcp::resolver::query query(server, port); tcp::resolver::iterator endpoint_iterator = resolver.resolve(query); @@ -83,7 +83,6 @@ namespace desktop { namespace core { namespace service { m_socket->shutdown(error); m_socket->lowest_layer().close(error); - m_io_service.stop(); service::LogService::info("HTTP {} {} {}:{}{}", action, status_code, server, port, path);