diff --git a/doc/kernel/threads/lifecycle.rst b/doc/kernel/threads/lifecycle.rst index 732a7925bb1..4c1d48aeaa5 100644 --- a/doc/kernel/threads/lifecycle.rst +++ b/doc/kernel/threads/lifecycle.rst @@ -289,7 +289,6 @@ The following thread APIs are provided by :file:`kernel.h`: * :c:macro:`K_THREAD_DEFINE` * :cpp:func:`k_thread_create()` -* :cpp:func:`k_thread_cancel()` * :cpp:func:`k_thread_abort()` * :cpp:func:`k_thread_suspend()` * :cpp:func:`k_thread_resume()` diff --git a/include/kernel.h b/include/kernel.h index 64e5091ff93..2806e6aaf00 100644 --- a/include/kernel.h +++ b/include/kernel.h @@ -717,8 +717,10 @@ __syscall k_tid_t k_current_get(void); * * @retval 0 Thread spawning canceled. * @retval -EINVAL Thread has already started executing. + * + * @deprecated This API is deprecated. Use k_thread_abort(). */ -__syscall int k_thread_cancel(k_tid_t thread); +__deprecated __syscall int k_thread_cancel(k_tid_t thread); /** * @brief Abort a thread. diff --git a/tests/kernel/threads/lifecycle/lifecycle_api/src/main.c b/tests/kernel/threads/lifecycle/lifecycle_api/src/main.c index 7cde452f7d8..08e7f13d379 100644 --- a/tests/kernel/threads/lifecycle/lifecycle_api/src/main.c +++ b/tests/kernel/threads/lifecycle/lifecycle_api/src/main.c @@ -20,9 +20,6 @@ extern void test_threads_spawn_forever(void); extern void test_thread_start(void); extern void test_threads_suspend_resume_cooperative(void); extern void test_threads_suspend_resume_preemptible(void); -extern void test_threads_cancel_undelayed(void); -extern void test_threads_cancel_delayed(void); -extern void test_threads_cancel_started(void); extern void test_threads_abort_self(void); extern void test_threads_abort_others(void); extern void test_threads_abort_repeat(void); @@ -52,9 +49,6 @@ void test_main(void) ztest_unit_test(test_threads_suspend_resume_cooperative), ztest_unit_test(test_threads_suspend_resume_preemptible), ztest_unit_test(test_threads_priority_set), - ztest_user_unit_test(test_threads_cancel_undelayed), - ztest_user_unit_test(test_threads_cancel_delayed), - ztest_user_unit_test(test_threads_cancel_started), ztest_user_unit_test(test_threads_abort_self), ztest_user_unit_test(test_threads_abort_others), ztest_unit_test(test_threads_abort_repeat), diff --git a/tests/kernel/threads/lifecycle/lifecycle_api/src/test_threads_cancel_abort.c b/tests/kernel/threads/lifecycle/lifecycle_api/src/test_threads_cancel_abort.c index 2ac221ac1a5..ce7e6e3c3ec 100644 --- a/tests/kernel/threads/lifecycle/lifecycle_api/src/test_threads_cancel_abort.c +++ b/tests/kernel/threads/lifecycle/lifecycle_api/src/test_threads_cancel_abort.c @@ -37,63 +37,6 @@ static void thread_entry_abort(void *p1, void *p2, void *p3) zassert_true(1 == 0, NULL); } -/*test cases*/ -void test_threads_cancel_undelayed(void) -{ - int cur_prio = k_thread_priority_get(k_current_get()); - - /* spawn thread with lower priority */ - int spawn_prio = cur_prio + 1; - - k_tid_t tid = k_thread_create(&tdata, tstack, STACK_SIZE, - thread_entry, NULL, NULL, NULL, - spawn_prio, K_USER, 0); - - /**TESTPOINT: check cancel retcode when thread is not delayed*/ - int cancel_ret = k_thread_cancel(tid); - - zassert_equal(cancel_ret, -EINVAL, NULL); - k_thread_abort(tid); -} - -void test_threads_cancel_started(void) -{ - int cur_prio = k_thread_priority_get(k_current_get()); - - /* spawn thread with lower priority */ - int spawn_prio = cur_prio + 1; - - k_tid_t tid = k_thread_create(&tdata, tstack, STACK_SIZE, - thread_entry, NULL, NULL, NULL, - spawn_prio, K_USER, 0); - - k_sleep(50); - /**TESTPOINT: check cancel retcode when thread is started*/ - int cancel_ret = k_thread_cancel(tid); - - zassert_equal(cancel_ret, -EINVAL, NULL); - k_thread_abort(tid); -} - -void test_threads_cancel_delayed(void) -{ - int cur_prio = k_thread_priority_get(k_current_get()); - - /* spawn thread with lower priority */ - int spawn_prio = cur_prio + 1; - - k_tid_t tid = k_thread_create(&tdata, tstack, STACK_SIZE, - thread_entry, NULL, NULL, NULL, - spawn_prio, K_USER, 100); - - k_sleep(50); - /**TESTPOINT: check cancel retcode when thread is started*/ - int cancel_ret = k_thread_cancel(tid); - - zassert_equal(cancel_ret, 0, NULL); - k_thread_abort(tid); -} - void test_threads_abort_self(void) { execute_flag = 0;