diff options
author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2016-04-17 18:11:04 +0300 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2016-04-17 18:11:04 +0300 |
commit | 6f3b9933bd6d60c62862d384a5f3c448f74d3c41 (patch) | |
tree | 4643e9e0da21c9bf3093f140398bc21a9beffa15 /esp8266 | |
parent | dde9abad16dfa2117104b2922fa10784a7ae7ff6 (diff) | |
download | micropython-6f3b9933bd6d60c62862d384a5f3c448f74d3c41.tar.gz micropython-6f3b9933bd6d60c62862d384a5f3c448f74d3c41.zip |
esp8266/esp_mphal: Protect dupterm_task_handler() from recursive exec.
Diffstat (limited to 'esp8266')
-rw-r--r-- | esp8266/esp_mphal.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/esp8266/esp_mphal.c b/esp8266/esp_mphal.c index 72c3b8b59b..914097f9b5 100644 --- a/esp8266/esp_mphal.c +++ b/esp8266/esp_mphal.c @@ -194,6 +194,11 @@ static int call_dupterm_read(void) { } 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 @@ STATIC void dupterm_task_handler(os_event_t *evt) { ringbuf_put(&input_buf, c); } mp_hal_signal_input(); + lock = 0; } STATIC os_event_t dupterm_evt_queue[4]; |