pyexec: Handle a ctrl-c that comes in "very late"
In relatively unusual circumstances, such as entering `l = 17 ** 17777` at the REPL, you could hit ctrl-c, but not get KeyboardInterrupt. This can lead to a condition where the display would stop updating (#2689).
This commit is contained in:
parent
1033e89561
commit
e9bc8e892b
@ -113,6 +113,8 @@ STATIC int parse_compile_execute(const void *source, mp_parse_input_kind_t input
|
||||
start = mp_hal_ticks_ms();
|
||||
mp_call_function_0(module_fun);
|
||||
mp_hal_set_interrupt_char(-1); // disable interrupt
|
||||
// Handle any ctrl-c interrupt that arrived just in time
|
||||
mp_handle_pending();
|
||||
nlr_pop();
|
||||
ret = 0;
|
||||
if (exec_flags & EXEC_FLAG_PRINT_EOF) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user