diff --git a/src/core/http_queue.cc b/src/core/http_queue.cc index 7568c138..406c7014 100644 --- a/src/core/http_queue.cc +++ b/src/core/http_queue.cc @@ -11,15 +11,14 @@ HttpQueue::iterator HttpQueue::insert(const std::string& url, std::shared_ptr stream) { auto itr = base_type::insert(end(), torrent::net::HttpGet(url, stream)); + for (auto& slot : m_signal_insert) + slot(*itr); + itr->add_done_slot([this, itr]() { erase(itr); }); itr->add_failed_slot([this, itr](auto) { erase(itr); }); torrent::net_thread::http_stack()->start_get(*itr); - // TODO: Move above? - for (auto& slot : m_signal_insert) - slot(*itr); - return itr; }