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(); }