diff --git a/esphome/core/scheduler.cpp b/esphome/core/scheduler.cpp index 7e2b2741a8..aa981d0b05 100644 --- a/esphome/core/scheduler.cpp +++ b/esphome/core/scheduler.cpp @@ -68,7 +68,7 @@ void HOT Scheduler::set_timer_common_(Component *component, SchedulerItem::Type // Still need to cancel existing timer if name is not empty if (name_cstr != nullptr && name_cstr[0] != '\0') { LockGuard guard{this->lock_}; - this->cancel_item_locked_(component, name_cstr, type, false); + this->cancel_item_locked_(component, name_cstr, type); } return; } @@ -87,7 +87,7 @@ void HOT Scheduler::set_timer_common_(Component *component, SchedulerItem::Type if (delay == 0 && type == SchedulerItem::TIMEOUT) { // Put in defer queue for guaranteed FIFO execution LockGuard guard{this->lock_}; - this->cancel_item_locked_(component, name_cstr, type, true); + this->cancel_item_locked_(component, name_cstr, type); this->defer_queue_.push_back(std::move(item)); return; } @@ -127,7 +127,7 @@ void HOT Scheduler::set_timer_common_(Component *component, SchedulerItem::Type // If name is provided, do atomic cancel-and-add if (name_cstr != nullptr && name_cstr[0] != '\0') { // Cancel existing items - this->cancel_item_locked_(component, name_cstr, type, false); + this->cancel_item_locked_(component, name_cstr, type); } // Add new item directly to to_add_ // since we have the lock held @@ -448,12 +448,11 @@ bool HOT Scheduler::cancel_item_(Component *component, bool is_static_string, co // obtain lock because this function iterates and can be called from non-loop task context LockGuard guard{this->lock_}; - return this->cancel_item_locked_(component, name_cstr, type, false); + return this->cancel_item_locked_(component, name_cstr, type); } // Helper to cancel items by name - must be called with lock held -bool HOT Scheduler::cancel_item_locked_(Component *component, const char *name_cstr, SchedulerItem::Type type, - bool check_defer_only) { +bool HOT Scheduler::cancel_item_locked_(Component *component, const char *name_cstr, SchedulerItem::Type type) { size_t total_cancelled = 0; // Check all containers for matching items @@ -466,9 +465,6 @@ bool HOT Scheduler::cancel_item_locked_(Component *component, const char *name_c total_cancelled++; } } - if (check_defer_only) { - return total_cancelled > 0; - } } #endif diff --git a/esphome/core/scheduler.h b/esphome/core/scheduler.h index abf52f5c13..39cee5a876 100644 --- a/esphome/core/scheduler.h +++ b/esphome/core/scheduler.h @@ -143,7 +143,7 @@ class Scheduler { private: // Helper to cancel items by name - must be called with lock held - bool cancel_item_locked_(Component *component, const char *name, SchedulerItem::Type type, bool check_defer_only); + bool cancel_item_locked_(Component *component, const char *name, SchedulerItem::Type type); // Helper to extract name as const char* from either static string or std::string inline const char *get_name_cstr_(bool is_static_string, const void *name_ptr) {