diff --git a/td/telegram/net/NetQueryDispatcher.cpp b/td/telegram/net/NetQueryDispatcher.cpp index 41492d555..385203983 100644 --- a/td/telegram/net/NetQueryDispatcher.cpp +++ b/td/telegram/net/NetQueryDispatcher.cpp @@ -209,12 +209,12 @@ void NetQueryDispatcher::stop() { std::lock_guard guard(main_dc_id_mutex_); td_guard_.reset(); stop_flag_ = true; - delayer_.hangup(); - for (const auto &dc : dcs_) { - dc.main_session_.hangup(); - dc.upload_session_.hangup(); - dc.download_session_.hangup(); - dc.download_small_session_.hangup(); + delayer_.reset(); + for (auto &dc : dcs_) { + dc.main_session_.reset(); + dc.upload_session_.reset(); + dc.download_session_.reset(); + dc.download_small_session_.reset(); } public_rsa_key_watchdog_.reset(); dc_auth_manager_.reset(); diff --git a/tdactor/td/actor/impl/ActorId-decl.h b/tdactor/td/actor/impl/ActorId-decl.h index 03db2775b..9fc7f6b98 100644 --- a/tdactor/td/actor/impl/ActorId-decl.h +++ b/tdactor/td/actor/impl/ActorId-decl.h @@ -90,7 +90,6 @@ class ActorOwn { ActorId get() const; ActorId release(); void reset(ActorId other = ActorId()); - void hangup() const; ActorType *get_actor_unsafe() const; private: diff --git a/tdactor/td/actor/impl/ActorId.h b/tdactor/td/actor/impl/ActorId.h index fa93118e2..30cbbfb91 100644 --- a/tdactor/td/actor/impl/ActorId.h +++ b/tdactor/td/actor/impl/ActorId.h @@ -88,15 +88,10 @@ ActorId ActorOwn::release() { template void ActorOwn::reset(ActorId other) { static_assert(sizeof(ActorType) > 0, "Can't use ActorOwn with incomplete type"); - hangup(); - id_ = std::move(other); -} - -template -void ActorOwn::hangup() const { if (!id_.empty()) { send_event(id_, Event::hangup()); } + id_ = std::move(other); } template