From c018a3e3fd701402a4b83da614e79ea5ba66514d Mon Sep 17 00:00:00 2001 From: zms123456 <85141075+zmshahaha@users.noreply.github.com> Date: Sat, 29 Jun 2024 11:27:39 +0800 Subject: [PATCH] [src][thread]fix rt_thread_resume return value error (#9114) fix rt_thread_resume return value error --- src/thread.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/thread.c b/src/thread.c index 1369b7560a..1327c47bbb 100644 --- a/src/thread.c +++ b/src/thread.c @@ -1018,6 +1018,15 @@ rt_err_t rt_thread_resume(rt_thread_t thread) if (!error) { error = rt_sched_unlock_n_resched(slvl); + + /** + * RT_ESCHEDLOCKED indicates that the current thread is in a critical section, + * rather than 'thread' can't be resumed. Therefore, we can ignore this error. + */ + if (error == -RT_ESCHEDLOCKED) + { + error = RT_EOK; + } } else {