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];