summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2021-06-15 12:28:25 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2021-06-15 18:37:55 +0200
commit98cef4041b3300d0361cd8c995dcbb20e0d702c7 (patch)
treecb065ba6fddeaec68aafc8a82a5ce78fa8fcee55
parentUse a common phrase for pointer parameters (diff)
downloadrtems-98cef4041b3300d0361cd8c995dcbb20e0d702c7.tar.bz2
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.
-rw-r--r--cpukit/score/src/threadqenqueue.c8
1 files changed, 7 insertions, 1 deletions
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(