Skip to content
Snippets Groups Projects
Rahix's avatar
rahix authored
When core 1 repeatedly calls `epic_sleep()`, this could delay an
epic_load() from core 0 because the reset interrupt can only be
delivered after such a call completed.

To work around this, add calls into `do_load()` to notify the dispatcher
task that it should return early from calls like `epic_sleep()`.  This
gets a bit tricky because the dispatcher task also uses
`ulTaskNotifyTake()` to wake up when new API calls arrive.  To make sure
we still break out of `epic_sleep()`, we need to call
`xTaskNotifyGive()` twice in the wait loop.
cf60dfb7
History
Name Last commit Last update