From 53cae5f471a53e504cfdafbc208e80ab6e11ee4c Mon Sep 17 00:00:00 2001 From: Andy Ross Date: Thu, 19 Jul 2018 10:41:01 -0700 Subject: [PATCH] kernel: Use _reschedule() instead of _Swap() where possible These two spots were duplicating logic that is already done inside _reschedule(), which is the cleaner, less dangerous API. Use it where possible when outside the scheduler internals. Signed-off-by: Andy Ross --- kernel/thread.c | 2 +- kernel/thread_abort.c | 12 +----------- 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/kernel/thread.c b/kernel/thread.c index 92a975c5118..50613de798a 100644 --- a/kernel/thread.c +++ b/kernel/thread.c @@ -540,7 +540,7 @@ void _impl_k_thread_suspend(struct k_thread *thread) sys_trace_thread_suspend(thread); if (thread == _current) { - (void)_Swap(key); + _reschedule(key); } else { irq_unlock(key); } diff --git a/kernel/thread_abort.c b/kernel/thread_abort.c index 97fb6f2d415..7286cf814f0 100644 --- a/kernel/thread_abort.c +++ b/kernel/thread_abort.c @@ -37,17 +37,7 @@ void _impl_k_thread_abort(k_tid_t thread) _k_thread_single_abort(thread); _thread_monitor_exit(thread); - if (_is_in_isr()) { - irq_unlock(key); - } else { - if (_current == thread) { - (void)_Swap(key); - CODE_UNREACHABLE; - } - - /* The abort handler might have altered the ready queue. */ - _reschedule(key); - } + _reschedule(key); } #endif