diff options
| author | Damien George | 2019-02-28 15:44:37 +1100 |
|---|---|---|
| committer | Damien George | 2019-02-28 15:44:37 +1100 |
| commit | 8ce22662feadeb6b564f1087134346cb287251f0 (patch) | |
| tree | 850b672cfd19e55fd18c6b6ed8512e36591b2b31 | |
| parent | 9b2a97a903f0841a75947d86d49f0056d43f81b0 (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.c | 1 |
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); |
