From bd8083fb26a7ccaf16f0a4c61bfcb8bb2f24a30e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Sun, 28 Jun 2020 18:34:00 +0200 Subject: [PATCH] Downloader: Join threads in CancelAll --- ext/native/net/http_client.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ext/native/net/http_client.cpp b/ext/native/net/http_client.cpp index 162bd5707a..ca2fb0f36c 100644 --- a/ext/native/net/http_client.cpp +++ b/ext/native/net/http_client.cpp @@ -446,6 +446,9 @@ void Download::Start() { } void Download::Join() { + if (joined_) { + ELOG("Already joined thread!"); + } thread_.join(); joined_ = true; } @@ -585,6 +588,9 @@ void Downloader::CancelAll() { for (size_t i = 0; i < downloads_.size(); i++) { downloads_[i]->Cancel(); } + for (size_t i = 0; i < downloads_.size(); i++) { + downloads_[i]->Join(); + } downloads_.clear(); }