From 7e0b96413710f2b864109175e1d0d276f151ab47 Mon Sep 17 00:00:00 2001 From: Andrea Cavalli Date: Fri, 25 Dec 2020 02:34:42 +0100 Subject: [PATCH] Fix #3 --- td/telegram/MemoryManager.cpp | 16 +++++++--------- td/telegram/MemoryManager.h | 4 +--- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/td/telegram/MemoryManager.cpp b/td/telegram/MemoryManager.cpp index 1469e5554..b3cc8c978 100644 --- a/td/telegram/MemoryManager.cpp +++ b/td/telegram/MemoryManager.cpp @@ -71,23 +71,21 @@ MemoryManager::MemoryManager(Td *td, ActorShared<> parent) : td_(td), parent_(st } void MemoryManager::start_up() { - init(); + LOG(INFO) << "Start MemoryManager"; } void MemoryManager::tear_down() { + LOG(INFO) << "Stopping MemoryManager"; parent_.reset(); + LOG(INFO) << "Stopped MemoryManager"; } -void MemoryManager::init() { - if (!td_->auth_manager_->is_authorized() || G()->close_flag()) { - return; - } - LOG(INFO) << "Init MemoryManager"; - is_inited_ = true; +bool MemoryManager::can_manage_memory() const { + return td_->auth_manager_->is_authorized() && !G()->close_flag(); } void MemoryManager::get_memory_stats(bool full, Promise promise) const { - if (!is_inited_) { + if (!can_manage_memory()) { promise.set_error(Status::Error(500, "Request aborted")); return; } @@ -162,7 +160,7 @@ void MemoryManager::get_memory_stats(bool full, Promise promise) co } void MemoryManager::clean_memory(bool full, Promise promise) const { - if (!is_inited_) { + if (!can_manage_memory()) { promise.set_error(Status::Error(500, "Request aborted")); return; } diff --git a/td/telegram/MemoryManager.h b/td/telegram/MemoryManager.h index 22bcaec2c..39782641d 100644 --- a/td/telegram/MemoryManager.h +++ b/td/telegram/MemoryManager.h @@ -48,7 +48,7 @@ class MemoryManager : public Actor { public: MemoryManager(Td *td, ActorShared<> parent); - void init(); + bool can_manage_memory() const; void get_memory_stats(bool full, Promise promise) const; @@ -63,8 +63,6 @@ class MemoryManager : public Actor { Td *td_; ActorShared<> parent_; - - bool is_inited_ = false; }; } // namespace td