Permalink
Browse files

lib/utils/interrupt_char: Use core-provided mp_kbd_exception if enabled.

Ultimately all ports that use lib/utils/interrupt_char would enable
MICROPY_KBD_EXCEPTION, so this is an interim solution.
  • Loading branch information...
1 parent 7f1da0a commit d89cafd5c30be57db99cbf10993bca00d9f523fb @dpgeorge dpgeorge committed Dec 15, 2016
Showing with 8 additions and 0 deletions.
  1. +8 −0 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
}

0 comments on commit d89cafd

Please sign in to comment.