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.
crypto-aes
Damien George 6 years ago
parent 7f1da0a03b
commit d89cafd5c3
  1. 8
      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
}

Loading…
Cancel
Save