py/scheduler: Move mp_keyboard_interrupt from lib/utils to py core.

This function is tightly coupled to the state and behaviour of the
scheduler, and is a core part of the runtime: to schedule a pending
exception.  So move it there.
This commit is contained in:
Damien George
2020-02-06 20:25:54 +11:00
parent 5a91cd9ff3
commit 9efb36bfa6
6 changed files with 14 additions and 23 deletions

View File

@@ -38,13 +38,4 @@ void mp_hal_set_interrupt_char(int c) {
mp_interrupt_char = c;
}
void mp_keyboard_interrupt(void) {
MP_STATE_VM(mp_pending_exception) = MP_OBJ_FROM_PTR(&MP_STATE_VM(mp_kbd_exception));
#if MICROPY_ENABLE_SCHEDULER
if (MP_STATE_VM(sched_state) == MP_SCHED_IDLE) {
MP_STATE_VM(sched_state) = MP_SCHED_PENDING;
}
#endif
}
#endif

View File

@@ -28,6 +28,5 @@
extern int mp_interrupt_char;
void mp_hal_set_interrupt_char(int c);
void mp_keyboard_interrupt(void);
#endif // MICROPY_INCLUDED_LIB_UTILS_INTERRUPT_CHAR_H