diff --git a/arch/arm/core/thread_abort.c b/arch/arm/core/thread_abort.c index 9fe8314caa5..378f3c38e7c 100644 --- a/arch/arm/core/thread_abort.c +++ b/arch/arm/core/thread_abort.c @@ -42,6 +42,7 @@ void k_thread_abort(k_tid_t thread) key = irq_lock(); _k_thread_single_abort(thread); + _thread_monitor_exit(thread); if (_current == thread) { if (_ScbIsInThreadMode()) { diff --git a/kernel/unified/thread_abort.c b/kernel/unified/thread_abort.c index ebe93ab4324..deceafc2d21 100644 --- a/kernel/unified/thread_abort.c +++ b/kernel/unified/thread_abort.c @@ -39,6 +39,7 @@ void k_thread_abort(k_tid_t thread) key = irq_lock(); _k_thread_single_abort(thread); + _thread_monitor_exit(thread); if (_current == thread) { _Swap(key);