Fix applying of postponed updates.
GitOrigin-RevId: 924efd81a5dfd4235f55a0ddfdf1c94b76fd8dd2
This commit is contained in:
parent
660acfef22
commit
945a3a1dc3
@ -1097,11 +1097,6 @@ void UpdatesManager::after_get_difference() {
|
|||||||
if (postponed_updates_.size()) {
|
if (postponed_updates_.size()) {
|
||||||
VLOG(get_difference) << "Begin to apply " << postponed_updates_.size() << " postponed updates";
|
VLOG(get_difference) << "Begin to apply " << postponed_updates_.size() << " postponed updates";
|
||||||
while (!postponed_updates_.empty()) {
|
while (!postponed_updates_.empty()) {
|
||||||
if (running_get_difference_) {
|
|
||||||
VLOG(get_difference) << "Finish to apply postponed updates with " << postponed_updates_.size()
|
|
||||||
<< " updates left, because forced to run getDifference";
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
auto it = postponed_updates_.begin();
|
auto it = postponed_updates_.begin();
|
||||||
auto updates = std::move(it->second.updates);
|
auto updates = std::move(it->second.updates);
|
||||||
auto updates_seq_begin = it->second.seq_begin;
|
auto updates_seq_begin = it->second.seq_begin;
|
||||||
@ -1109,6 +1104,11 @@ void UpdatesManager::after_get_difference() {
|
|||||||
// ignore it->second.date, because it may be too old
|
// ignore it->second.date, because it may be too old
|
||||||
postponed_updates_.erase(it);
|
postponed_updates_.erase(it);
|
||||||
on_pending_updates(std::move(updates), updates_seq_begin, updates_seq_end, 0, "postponed updates");
|
on_pending_updates(std::move(updates), updates_seq_begin, updates_seq_end, 0, "postponed updates");
|
||||||
|
if (running_get_difference_) {
|
||||||
|
VLOG(get_difference) << "Finish to apply postponed updates with " << postponed_updates_.size()
|
||||||
|
<< " updates left, because forced to run getDifference";
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
VLOG(get_difference) << "Finish to apply postponed updates";
|
VLOG(get_difference) << "Finish to apply postponed updates";
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user