1
0
mirror of https://github.com/esphome/esphome.git synced 2025-09-21 12:42:21 +01:00

Merge branch 'scheduler_skip_add_no_change' into integration

This commit is contained in:
J. Nick Koston
2025-09-06 22:53:27 -05:00

View File

@@ -357,6 +357,9 @@ void HOT Scheduler::call(uint32_t now) {
const auto now_64 = this->millis_64_(now); // 'now' from parameter - fresh from Application::loop()
this->process_to_add();
// Track if we add any interval items during this call
bool added_intervals = false;
#ifdef ESPHOME_DEBUG_SCHEDULER
static uint64_t last_print = 0;
@@ -510,10 +513,14 @@ void HOT Scheduler::call(uint32_t now) {
// Timeout completed - recycle it
this->recycle_item_(std::move(item));
}
added_intervals |= this->to_add_.empty() == false;
}
}
if (added_intervals) {
this->process_to_add();
}
}
void HOT Scheduler::process_to_add() {
LockGuard guard{this->lock_};