You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
On (for example) stm32, if you press Ctrl-C a second time and the main thread has not picked up the pending exception from the first one, then it schedules a PendSV interrupt to force an NLR with the pending exception.
On rp2, there's only the regular pending exception for keyboard interrupt, so this cannot interrupt e.g. code from the native emitter. (This was raised in the forum where an example was given where the entire app was emit=native and so could never be interrupted unless it called sleep or something else that did mp_handle_pending).
The text was updated successfully, but these errors were encountered:
stm32's pendsv pending exception was something I wanted to get rid of...! It feels like it's more complexity than it's worth. It was there from the very beginning to make ctrl-C work on stm32 before the VM did any polling of a pending exception. Once polling in the VM was added, this "hard ctrl-C" became less useful.
Yes, fair! Definitely agree on reducing complexity. It is likely to be a fairly rare situation where the app basically never runs the VM at all (or any other functions that do mp_handle_pending). In this case I think doing something along the lines of #8862 would be more worthwhile.
On (for example) stm32, if you press Ctrl-C a second time and the main thread has not picked up the pending exception from the first one, then it schedules a PendSV interrupt to force an NLR with the pending exception.
On rp2, there's only the regular pending exception for keyboard interrupt, so this cannot interrupt e.g. code from the native emitter. (This was raised in the forum where an example was given where the entire app was emit=native and so could never be interrupted unless it called sleep or something else that did mp_handle_pending).
The text was updated successfully, but these errors were encountered: