esp8266/esp_mphal: Protect dupterm_task_handler() from recursive exec.
diff --git a/esp8266/esp_mphal.c b/esp8266/esp_mphal.c
index 72c3b8b..914097f 100644
--- a/esp8266/esp_mphal.c
+++ b/esp8266/esp_mphal.c
@@ -194,6 +194,11 @@
}
STATIC void dupterm_task_handler(os_event_t *evt) {
+ static byte lock;
+ if (lock) {
+ return;
+ }
+ lock = 1;
while (1) {
int c = call_dupterm_read();
if (c < 0) {
@@ -202,6 +207,7 @@
ringbuf_put(&input_buf, c);
}
mp_hal_signal_input();
+ lock = 0;
}
STATIC os_event_t dupterm_evt_queue[4];