From 02fd61eb6b24faeed7fc6cc3f0e37f00e94d4d4c Mon Sep 17 00:00:00 2001 From: "andrew (from workstation)" Date: Wed, 20 May 2020 18:46:11 +0200 Subject: [PATCH] separate time get and reset --- td/telegram/files/FileId.h | 8 +++++--- td/telegram/files/FileManager.cpp | 4 +++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/td/telegram/files/FileId.h b/td/telegram/files/FileId.h index 18175c61..d2a9f711 100644 --- a/td/telegram/files/FileId.h +++ b/td/telegram/files/FileId.h @@ -45,10 +45,12 @@ class FileId { return id; } - int64 get_time() { - auto res = time_; + int64 get_time() const { + return time_; + } + + void reset_time() { time_ = INT64_MAX; - return res; } int32 get_remote() const { diff --git a/td/telegram/files/FileManager.cpp b/td/telegram/files/FileManager.cpp index 6d79c646..05c61607 100644 --- a/td/telegram/files/FileManager.cpp +++ b/td/telegram/files/FileManager.cpp @@ -3486,7 +3486,9 @@ void FileManager::memory_cleanup() { if (main_node_id != 0) { auto &node = file_nodes_[main_node_id]; if (node != nullptr && ((int32) i) == node->main_file_id_.fast_get()) { - if (time - node->main_file_id_.get_time() > 60 * 5 /* MAIN FILE TTL */) { + if (time - node->main_file_id_.get_time() > 5 /* MAIN FILE TTL */) { + node->main_file_id_.reset_time(); + for (auto &file_id : node->file_ids_) { /* DESTROY ASSOCIATED QUERIES */ destroy_query(file_id.fast_get());