From 98cef4041b3300d0361cd8c995dcbb20e0d702c7 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Tue, 15 Jun 2021 12:28:25 +0200 Subject: score: Comment _Thread_queue_Surrender_sticky() The change also helps to avoid reports from static analysers since most callers of _Thread_queue_Make_ready_again() check the unblock status. --- cpukit/score/src/threadqenqueue.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/cpukit/score/src/threadqenqueue.c b/cpukit/score/src/threadqenqueue.c index 5e228b7190..d187e32fbc 100644 --- a/cpukit/score/src/threadqenqueue.c +++ b/cpukit/score/src/threadqenqueue.c @@ -733,7 +733,13 @@ void _Thread_queue_Surrender_sticky( queue_context ); queue->owner = new_owner; - _Thread_queue_Make_ready_again( new_owner ); + + /* + * There is no need to check the unblock status, since in the corresponding + * _Thread_queue_Enqueue_sticky() the thread is not blocked by the scheduler. + * Instead, the thread busy waits for a change of its thread wait flags. + */ + (void) _Thread_queue_Make_ready_again( new_owner ); cpu_self = _Thread_queue_Dispatch_disable( queue_context ); _Thread_queue_Queue_release( -- cgit v1.2.3