circuitpython/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 unix: Rename unix binaries to micropython-variant (not _variant). 2020-01-12 10:37:40 +11:00
alloc.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
coverage.c py/repl: Autocomplete builtin modules. 2021-05-02 23:11:14 +10:00
coveragecpp.cpp esp32,unix: Support building C++ code. 2020-10-29 15:29:50 +11:00
fatfs_port.c unix/fatfs_port: Fix month offset in timestamp calculation. 2020-09-02 00:19:06 +10:00
gccollect.c all: Factor gchelper code to one place and use it for unix & ARM ports. 2020-04-29 23:45:19 +10:00
input.c unix: Implement PEP 475 to retry syscalls failing with EINTR. 2020-03-27 14:40:46 +11:00
input.h ports: Make new ports/ sub-directory and move all ports there. 2017-09-06 13:40:51 +10:00
main.c unix/main: Increase stack limit on ARM architectures. 2021-06-05 11:03:09 +10:00
Makefile tests: Rename run-tests to run-tests.py for consistency. 2021-03-12 19:56:09 +11:00
modffi.c unix/modffi: Fix conversion between Python integers and ffi types. 2021-06-08 13:06:17 +10:00
modjni.c all: Format code to add space after C++-style comment start. 2020-04-23 11:24:25 +10:00
modmachine.c extmod/machine_mem: Only allow integers in machine.memX subscript. 2020-11-13 11:13:37 +11:00
modos.c unix/modos: Support larger integer range in uos.stat fields. 2020-09-01 12:36:28 +10:00
modtermios.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
modtime.c unix/modtime: Fix time() precision on unix ports with non-double floats. 2021-01-23 16:55:24 +11:00
moduos_vfs.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
moduselect.c unix/moduselect: Don't allow both posix and non-posix configurations. 2021-02-16 14:59:52 +11:00
modusocket.c all: Format code to add space after C++-style comment start. 2020-04-23 11:24:25 +10:00
mpbthciport.c extmod/nimble: Make stm32 and unix NimBLE ports use synchronous events. 2020-11-13 17:19:05 +11:00
mpbtstackport_common.c unix/mpbtstackport_common: Implement mp_bluetooth_hci_active. 2021-02-12 12:07:05 +11:00
mpbtstackport_h4.c unix: Implement BLE H4 HCI UART for btstack/nimble. 2020-09-08 12:53:24 +10:00
mpbtstackport_usb.c extmod/modbluetooth: Refactor stack/hci/driver/port bindings. 2020-09-08 11:41:31 +10:00
mpbtstackport.h unix: Implement BLE H4 HCI UART for btstack/nimble. 2020-09-08 12:53:24 +10:00
mpconfigport.h unix: Handle pending events/scheduler in MICROPY_EVENT_POLL_HOOK. 2020-11-13 17:19:05 +11:00
mpconfigport.mk unix/mpconfigport.mk: Update comment about TLS implementations. 2019-06-05 15:28:30 +10:00
mphalport.h unix: Make mp_hal_delay_ms run MICROPY_EVENT_POLL_HOOK. 2020-11-13 17:19:05 +11:00
mpnimbleport.c extmod/nimble: Make stm32 and unix NimBLE ports use synchronous events. 2020-11-13 17:19:05 +11:00
mpnimbleport.h unix: Implement BLE H4 HCI UART for btstack/nimble. 2020-09-08 12:53:24 +10:00
mpthreadport.c unix: Fix build on arm64-darwin due to integer cast. 2021-06-15 00:08:24 +10:00
mpthreadport.h unix: Implement MICROPY_BEGIN/END_ATOMIC_SECTION protection macros. 2020-04-13 21:44:09 +10:00
qstrdefsport.h all: Add *FORMAT-OFF* in various places. 2020-02-28 10:31:07 +11:00
unix_mphal.c py/mpstate: Schedule KeyboardInterrupt on main thread. 2021-06-19 09:49:00 +10:00