summaryrefslogtreecommitdiffstatshomepage
path: root/lib/utils
diff options
context:
space:
mode:
Diffstat (limited to 'lib/utils')
-rw-r--r--lib/utils/interrupt_char.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/utils/interrupt_char.c b/lib/utils/interrupt_char.c
index 3133d5c068..ab4efd9113 100644
--- a/lib/utils/interrupt_char.c
+++ b/lib/utils/interrupt_char.c
@@ -31,11 +31,19 @@ int mp_interrupt_char;
void mp_hal_set_interrupt_char(int c) {
if (c != -1) {
+ #if MICROPY_KBD_EXCEPTION
+ mp_obj_exception_clear_traceback(MP_OBJ_FROM_PTR(&MP_STATE_VM(mp_kbd_exception)));
+ #else
mp_obj_exception_clear_traceback(MP_STATE_PORT(mp_kbd_exception));
+ #endif
}
mp_interrupt_char = c;
}
void mp_keyboard_interrupt(void) {
+ #if MICROPY_KBD_EXCEPTION
+ MP_STATE_VM(mp_pending_exception) = MP_OBJ_FROM_PTR(&MP_STATE_VM(mp_kbd_exception));
+ #else
MP_STATE_VM(mp_pending_exception) = MP_STATE_PORT(mp_kbd_exception);
+ #endif
}