mirror of
https://github.com/esphome/esphome.git
synced 2026-07-10 17:05:36 +00:00
2c01f961c6
Add find_first parameter to cancel_item_locked_ and mark_matching_items_removed_locked_, defaulting to false (cancel all). When find_first=true, stops after the first match and exits across containers. set_timer_common_ passes find_first=true where the cancel-before-add invariant guarantees at most one match. The public cancel path uses the default find_first=false to cancel ALL matches, needed for DelayAction parallel mode where skip_cancel=true can create multiple items with the same key. Also fixes the Scheduler_SetInterval benchmark to call process_to_add() every kKeyCount registrations with a final drain after the inner loop, reflecting production behavior.