summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2021-02-05 14:19:06 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2021-02-06 21:05:58 +0100
commit5861e4256774bc2d629c703ac3d0a3692500ca0e (patch)
treeb1a2a076336aab69da8be6f166b4da3fb8e555b2
parentFix RTEMS_LINKER_ROSET_ITEM_ORDERED_DECLARE() (diff)
downloadrtems-5861e4256774bc2d629c703ac3d0a3692500ca0e.tar.bz2
score: Constify Thread_queue_First_operation
Update #4232.
-rw-r--r--cpukit/include/rtems/score/threadq.h13
-rw-r--r--cpukit/score/src/threadqops.c12
2 files changed, 13 insertions, 12 deletions
diff --git a/cpukit/include/rtems/score/threadq.h b/cpukit/include/rtems/score/threadq.h
index 522be03970..29d3fafda6 100644
--- a/cpukit/include/rtems/score/threadq.h
+++ b/cpukit/include/rtems/score/threadq.h
@@ -497,16 +497,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 9894c3628b..42a771e86c 100644
--- a/cpukit/score/src/threadqops.c
+++ b/cpukit/score/src/threadqops.c
@@ -219,16 +219,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 );
@@ -589,7 +589,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;