diff options
author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2016-04-13 16:26:29 +0300 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2016-04-13 16:34:11 +0300 |
commit | 54ea253f5699c791ddff073b0193f257fa77cee1 (patch) | |
tree | e09bf699960a894a352055bace1ec4288505b11b /extmod/moduos_dupterm.c | |
parent | 47442d9f526c7118b56c7cd963862256a3154a54 (diff) | |
download | micropython-54ea253f5699c791ddff073b0193f257fa77cee1.tar.gz micropython-54ea253f5699c791ddff073b0193f257fa77cee1.zip |
extmod/moduos_dupterm: Don't swallow exceptions in dupterm's read()/write().
The idea is that if dupterm object can handle exceptions, it will handle
them itself. Otherwise, object state can be compromised and it's better
to terminate dupterm session. For example, disconnected socket will keep
throwing exceptions and dump messages about that.
Diffstat (limited to 'extmod/moduos_dupterm.c')
-rw-r--r-- | extmod/moduos_dupterm.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/extmod/moduos_dupterm.c b/extmod/moduos_dupterm.c index 99022df37a..41b8b3c81e 100644 --- a/extmod/moduos_dupterm.c +++ b/extmod/moduos_dupterm.c @@ -44,12 +44,9 @@ void mp_uos_dupterm_tx_strn(const char *str, size_t len) { mp_call_method_n_kw(1, 0, write_m); nlr_pop(); } else { - // Temporarily disable dupterm to avoid infinite recursion - mp_obj_t save_term = MP_STATE_PORT(term_obj); MP_STATE_PORT(term_obj) = NULL; - mp_printf(&mp_plat_print, "dupterm: "); + mp_printf(&mp_plat_print, "dupterm: Exception in write() method, deactivating: "); mp_obj_print_exception(&mp_plat_print, nlr.ret_val); - MP_STATE_PORT(term_obj) = save_term; } } } |