Entering irq_offload() on multiple CPUs can cause difficult to debug/reproduce crashes. Demote irq_offload() to non-inline (it never needed to be inline anyway) and wrap the arch call in a semaphore. Some tests which were unnecessarily killing threads have been fixed; these threads exit by themselves anyway and we won't leave the semaphore dangling. The definition of z_arch_irq_offload() moved to arch_interface.h as it only gets called by kernel C code. Signed-off-by: Andrew Boie <andrew.p.boie@intel.com> |
||
|---|---|---|
| .. | ||
| sema_api | ||
| semaphore | ||