mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-09-04 14:21:55 +00:00
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: Andy Ross <andrew.j.ross@intel.com> |
||
---|---|---|
.. | ||
include | ||
posix | ||
alert.c | ||
atomic_c.c | ||
CMakeLists.txt | ||
compiler_stack_protect.c | ||
device.c | ||
errno.c | ||
idle.c | ||
init.c | ||
int_latency_bench.c | ||
Kconfig | ||
Kconfig.event_logger | ||
Kconfig.power_mgmt | ||
mailbox.c | ||
mem_domain.c | ||
mem_slab.c | ||
mempool.c | ||
msg_q.c | ||
mutex.c | ||
pipes.c | ||
poll.c | ||
queue.c | ||
sched.c | ||
sem.c | ||
smp.c | ||
stack.c | ||
sys_clock.c | ||
system_work_q.c | ||
thread_abort.c | ||
thread.c | ||
timer.c | ||
userspace_handler.c | ||
userspace.c | ||
version.c | ||
work_q.c |