[PATCH 1/3] score: Constify Thread_queue_First_operation

Sebastian Huber sebastian.huber at embedded-brains.de
Fri Feb 5 13:37:35 UTC 2021


Update #4230.
---
 cpukit/include/rtems/score/threadq.h | 13 +++++++------
 cpukit/score/src/threadqops.c        | 12 ++++++------
 2 files changed, 13 insertions(+), 12 deletions(-)

diff --git a/cpukit/include/rtems/score/threadq.h b/cpukit/include/rtems/score/threadq.h
index de7ca8391b..5234019b81 100644
--- a/cpukit/include/rtems/score/threadq.h
+++ b/cpukit/include/rtems/score/threadq.h
@@ -496,16 +496,17 @@ typedef Thread_Control *( *Thread_queue_Surrender_operation )(
 );
 
 /**
- * @brief Thread queue first operation.
+ * @brief Gets the first thread on the queue.
  *
- * @param[in] heads The thread queue heads.
+ * @param heads are heads of the thread queue.
  *
- * @retval NULL No thread is present on the thread queue.
- * @retval first The first thread of the thread queue according to the insert
- * order.  This thread remains on the thread queue.
+ * @retval NULL No thread is enqueued on the thread queue.
+ *
+ * @return Returns the first thread on the thread queue according to the queue
+ *   order.  This thread remains on the thread queue.
  */
 typedef Thread_Control *( *Thread_queue_First_operation )(
-  Thread_queue_Heads *heads
+  const Thread_queue_Heads *heads
 );
 
 /**
diff --git a/cpukit/score/src/threadqops.c b/cpukit/score/src/threadqops.c
index 9cf63d41f6..813edf1fcd 100644
--- a/cpukit/score/src/threadqops.c
+++ b/cpukit/score/src/threadqops.c
@@ -230,16 +230,16 @@ static void _Thread_queue_FIFO_extract(
 }
 
 static Thread_Control *_Thread_queue_FIFO_first(
-  Thread_queue_Heads *heads
+  const Thread_queue_Heads *heads
 )
 {
-  Chain_Control  *fifo;
-  Chain_Node     *first;
-  Scheduler_Node *scheduler_node;
+  const Chain_Control  *fifo;
+  const Chain_Node     *first;
+  const Scheduler_Node *scheduler_node;
 
   fifo = &heads->Heads.Fifo;
   _Assert( !_Chain_Is_empty( fifo ) );
-  first = _Chain_First( fifo );
+  first = _Chain_Immutable_first( fifo );
   scheduler_node = SCHEDULER_NODE_OF_WAIT_PRIORITY_NODE( first );
 
   return _Scheduler_Node_get_owner( scheduler_node );
@@ -600,7 +600,7 @@ static void _Thread_queue_Priority_extract(
 }
 
 static Thread_Control *_Thread_queue_Priority_first(
-  Thread_queue_Heads *heads
+  const Thread_queue_Heads *heads
 )
 {
   Thread_queue_Priority_queue *priority_queue;
-- 
2.26.2



More information about the devel mailing list