From 1b741dd3b315adc966be544fd0381e8a62ebb8b5 Mon Sep 17 00:00:00 2001 From: levlam Date: Fri, 6 Jan 2023 18:03:45 +0300 Subject: [PATCH] Update TDLib and asynchronously destroy deleted TQueue events. --- td | 2 +- telegram-bot-api/Client.cpp | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/td b/td index ac0de06..eeb73d4 160000 --- a/td +++ b/td @@ -1 +1 @@ -Subproject commit ac0de06b5f55e7bb5c2904ed6ef3aeb8c2df8c85 +Subproject commit eeb73d4eb22d201655ed30e0e5b76ced3ef2323f diff --git a/telegram-bot-api/Client.cpp b/telegram-bot-api/Client.cpp index d084ac0..0e72482 100644 --- a/telegram-bot-api/Client.cpp +++ b/telegram-bot-api/Client.cpp @@ -5292,7 +5292,8 @@ void Client::timeout_expired() { void Client::clear_tqueue() { CHECK(webhook_id_.empty()); auto &tqueue = parameters_->shared_data_->tqueue_; - tqueue->clear(tqueue_id_, 0); + auto deleted_events = tqueue->clear(tqueue_id_, 0); + td::Scheduler::instance()->destroy_on_scheduler(SharedData::get_file_gc_scheduler_id(), deleted_events); } bool Client::to_bool(td::MutableSlice value) { @@ -9533,7 +9534,8 @@ void Client::do_get_updates(int32 offset, int32 limit, int32 timeout, PromisedQu LOG(DEBUG) << "Queue head = " << tqueue->get_head(tqueue_id_) << ", queue tail = " << tqueue->get_tail(tqueue_id_); if (offset < 0) { - tqueue->clear(tqueue_id_, -offset); + auto deleted_events = tqueue->clear(tqueue_id_, -offset); + td::Scheduler::instance()->destroy_on_scheduler(SharedData::get_file_gc_scheduler_id(), deleted_events); } if (offset <= 0) { offset = tqueue->get_head(tqueue_id_).value();