From fcb7a51eb0a9b8078af53ac194f1c738c5a9e315 Mon Sep 17 00:00:00 2001 From: levlam Date: Wed, 10 Jun 2020 01:47:17 +0300 Subject: [PATCH] Remove global net_query_list_. GitOrigin-RevId: 345564fa64a1a6abe6e936713ab05c5c16e4a723 --- td/telegram/net/NetQuery.cpp | 12 ++++++++---- td/telegram/net/NetQuery.h | 6 +++--- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/td/telegram/net/NetQuery.cpp b/td/telegram/net/NetQuery.cpp index ccb78df28..f3710d454 100644 --- a/td/telegram/net/NetQuery.cpp +++ b/td/telegram/net/NetQuery.cpp @@ -15,8 +15,6 @@ namespace td { -TsList net_query_list_; - int32 NetQuery::get_my_id() { return G()->get_my_id(); } @@ -64,14 +62,20 @@ void NetQuery::set_error(Status status, string source) { set_error_impl(std::move(status), std::move(source)); } +TsList &NetQuery::get_net_query_list() { + static TsList net_query_list; + return net_query_list; +} + void dump_pending_network_queries() { auto n = NetQueryCounter::get_count(); LOG(WARNING) << tag("pending net queries", n); decltype(n) i = 0; bool was_gap = false; - auto guard = net_query_list_.lock(); - for (auto end = net_query_list_.end(), cur = net_query_list_.begin(); cur != end; cur = cur->get_next(), i++) { + auto &net_query_list = NetQuery::get_net_query_list(); + auto guard = net_query_list.lock(); + for (auto end = net_query_list.end(), cur = net_query_list.begin(); cur != end; cur = cur->get_next(), i++) { if (i < 20 || i + 20 > n || i % (n / 20 + 1) == 0) { if (was_gap) { LOG(WARNING) << "..."; diff --git a/td/telegram/net/NetQuery.h b/td/telegram/net/NetQuery.h index 4505380a0..fd175ceeb 100644 --- a/td/telegram/net/NetQuery.h +++ b/td/telegram/net/NetQuery.h @@ -52,8 +52,6 @@ struct NetQueryDebug { bool debug_unknown_ = false; }; -extern TsList net_query_list_; - class NetQuery : public TsListNode { public: NetQuery() = default; @@ -281,6 +279,8 @@ class NetQuery : public TsListNode { static int32 tl_magic(const BufferSlice &buffer_slice); + static TsList &get_net_query_list(); + private: State state_ = State::Empty; Type type_ = Type::Common; @@ -360,7 +360,7 @@ class NetQuery : public TsListNode { get_data_unsafe().my_id_ = get_my_id(); get_data_unsafe().start_timestamp_ = Time::now(); LOG(INFO) << *this; - net_query_list_.put(this); + get_net_query_list().put(this); } };