aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien George2019-02-28 15:44:37 +1100
committerDamien George2019-02-28 15:44:37 +1100
commit8ce22662feadeb6b564f1087134346cb287251f0 (patch)
tree850b672cfd19e55fd18c6b6ed8512e36591b2b31
parent9b2a97a903f0841a75947d86d49f0056d43f81b0 (diff)
esp8266/modmachine: Call ets_event_poll after waiti in machine.idle.
Because "waiti 0" may have waited for a while (eg 500ms) and the internal WDT may need to be fed immediately. Fixes issue #4459.
-rw-r--r--ports/esp8266/modmachine.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/ports/esp8266/modmachine.c b/ports/esp8266/modmachine.c
index 8c3905161..58368b8f0 100644
--- a/ports/esp8266/modmachine.c
+++ b/ports/esp8266/modmachine.c
@@ -92,6 +92,7 @@ STATIC mp_obj_t machine_idle(void) {
uint32_t t = mp_hal_ticks_cpu();
asm("waiti 0");
t = mp_hal_ticks_cpu() - t;
+ ets_event_poll(); // handle any events after possibly a long wait (eg feed WDT)
return MP_OBJ_NEW_SMALL_INT(t);
}
STATIC MP_DEFINE_CONST_FUN_OBJ_0(machine_idle_obj, machine_idle);