From 36b3d35d1591728ce9c147bcdecadb54bf1acc09 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sat, 4 Apr 2026 11:58:33 -1000 Subject: [PATCH] Fix Zephyr build: add fallback wakeable_delay and wake_loop_threadsafe --- esphome/core/wake.h | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/esphome/core/wake.h b/esphome/core/wake.h index 961edf5adb..fe49038d65 100644 --- a/esphome/core/wake.h +++ b/esphome/core/wake.h @@ -94,14 +94,29 @@ namespace internal { void wakeable_delay(uint32_t ms); } // namespace internal -// === Host (UDP loopback socket) === +// === Host / Zephyr / other === #else -/// Defined in wake.cpp. +#ifdef USE_HOST +/// Host: wakes select() via UDP loopback socket. Defined in wake.cpp. void wake_loop_threadsafe(); +#else +/// Fallback for platforms without a specific wake mechanism. +inline void wake_loop_threadsafe() {} +#endif inline void wake_loop_any_context() { wake_loop_threadsafe(); } +namespace internal { +inline void wakeable_delay(uint32_t ms) { + if (ms == 0) { + yield(); + return; + } + delay(ms); +} +} // namespace internal + #endif } // namespace esphome