diff --git a/ports/unix/unix_mphal.c b/ports/unix/unix_mphal.c index 25d1b022d..8fabb339d 100644 --- a/ports/unix/unix_mphal.c +++ b/ports/unix/unix_mphal.c @@ -58,8 +58,7 @@ STATIC void sighandler(int signum) { // this is the second time we are called, so die straight away exit(1); } - mp_obj_exception_clear_traceback(MP_OBJ_FROM_PTR(&MP_STATE_VM(mp_kbd_exception))); - MP_STATE_VM(mp_pending_exception) = MP_OBJ_FROM_PTR(&MP_STATE_VM(mp_kbd_exception)); + mp_keyboard_interrupt(); #endif } } diff --git a/ports/windows/windows_mphal.c b/ports/windows/windows_mphal.c index 6de888085..e0c125524 100644 --- a/ports/windows/windows_mphal.c +++ b/ports/windows/windows_mphal.c @@ -25,7 +25,7 @@ */ -#include "py/mpstate.h" +#include "py/runtime.h" #include "py/mphal.h" #include "py/mpthread.h" @@ -84,8 +84,7 @@ BOOL WINAPI console_sighandler(DWORD evt) { // this is the second time we are called, so die straight away exit(1); } - mp_obj_exception_clear_traceback(MP_OBJ_FROM_PTR(&MP_STATE_VM(mp_kbd_exception))); - MP_STATE_VM(mp_pending_exception) = MP_OBJ_FROM_PTR(&MP_STATE_VM(mp_kbd_exception)); + mp_keyboard_interrupt(); return TRUE; } return FALSE;