Skip to content
Commit e922df50 authored by Andy Ross's avatar Andy Ross Committed by Anas Nashif
Browse files

kernel: Allow k_thread_abort(_current) from ISRs



Traditionally k_thread_abort() of the current thread has done a
synchronous _Swap() to the new context.  Doing this from an ISR has
never worked portably (some architectures can do it, some can't) for
this reason.

But on Xtensa/asm2, exception handlers now run in interrupt context
and it's a very reasonable requirement for them to abort the excepting
thread.

So simply don't swap, but do the rest of the bookeeping, returning to
the calling context.  As a side effect it's now possible to terminate
threads from interrupts, even if they have been interrupted.

Signed-off-by: default avatarAndy Ross <andrew.j.ross@intel.com>
parent 0244d01f
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment