micropython/ports/unix
David Lechner 259d9b69fe py/mpstate: Schedule KeyboardInterrupt on main thread.
This introduces a new macro to get the main thread and uses it to ensure
that asynchronous exceptions such as KeyboardInterrupt (CTRL+C) are only
scheduled on the main thread. This is more deterministic than being
scheduled on a random thread and is more in line with CPython that only
allow signal handlers to run on the main thread.

Fixes issue #7026.

Signed-off-by: David Lechner <david@pybricks.com>
2021-06-19 09:49:00 +10:00
..
variants examples/usercmodules: Simplify user C module enabling. 2021-04-01 16:27:38 +11:00
.gitignore
Makefile
alloc.c
coverage.c py/repl: Autocomplete builtin modules. 2021-05-02 23:11:14 +10:00
coveragecpp.cpp
fatfs_port.c
gccollect.c
input.c
input.h
main.c unix/main: Increase stack limit on ARM architectures. 2021-06-05 11:03:09 +10:00
modffi.c unix/modffi: Fix conversion between Python integers and ffi types. 2021-06-08 13:06:17 +10:00
modjni.c
modmachine.c
modos.c
modtermios.c
modtime.c
moduos_vfs.c
moduselect.c
modusocket.c
mpbthciport.c
mpbtstackport.h
mpbtstackport_common.c
mpbtstackport_h4.c
mpbtstackport_usb.c
mpconfigport.h
mpconfigport.mk
mphalport.h
mpnimbleport.c
mpnimbleport.h
mpthreadport.c unix: Fix build on arm64-darwin due to integer cast. 2021-06-15 00:08:24 +10:00
mpthreadport.h
qstrdefsport.h
unix_mphal.c py/mpstate: Schedule KeyboardInterrupt on main thread. 2021-06-19 09:49:00 +10:00