[PATCH 3/5] score: Remove _Thread_queue_First_locked()

Sebastian Huber sebastian.huber at embedded-brains.de
Tue Aug 31 11:24:23 UTC 2021


The _Thread_queue_First_locked() was only used in one place.  Move the code of
this inline function to this place.
---
 cpukit/include/rtems/score/threadqimpl.h | 28 ------------------------
 cpukit/score/src/threadqfirst.c          | 10 ++++++++-
 2 files changed, 9 insertions(+), 29 deletions(-)

diff --git a/cpukit/include/rtems/score/threadqimpl.h b/cpukit/include/rtems/score/threadqimpl.h
index 0a24d2da3b..19d9704dec 100644
--- a/cpukit/include/rtems/score/threadqimpl.h
+++ b/cpukit/include/rtems/score/threadqimpl.h
@@ -1135,34 +1135,6 @@ RTEMS_INLINE_ROUTINE bool _Thread_queue_Is_empty(
   return queue->heads == NULL;
 }
 
-/**
- * @brief Returns the first thread on the thread queue if it exists, otherwise
- * @c NULL.
- *
- * The caller must be the owner of the thread queue lock.  The thread queue
- * lock is not released.
- *
- * @param the_thread_queue The thread queue.
- * @param operations The thread queue operations.
- *
-* @retval first The first thread on the thread queue according to the enqueue
- * order.
- * @retval NULL No thread is present on the thread queue.
- */
-RTEMS_INLINE_ROUTINE Thread_Control *_Thread_queue_First_locked(
-  Thread_queue_Control          *the_thread_queue,
-  const Thread_queue_Operations *operations
-)
-{
-  Thread_queue_Heads *heads = the_thread_queue->Queue.heads;
-
-  if ( heads != NULL ) {
-    return ( *operations->first )( heads );
-  } else {
-    return NULL;
-  }
-}
-
 /**
  * @brief Returns the first thread on the thread queue if it exists, otherwise
  * @c NULL.
diff --git a/cpukit/score/src/threadqfirst.c b/cpukit/score/src/threadqfirst.c
index 9908523298..8edbc1645f 100644
--- a/cpukit/score/src/threadqfirst.c
+++ b/cpukit/score/src/threadqfirst.c
@@ -27,11 +27,19 @@ Thread_Control *_Thread_queue_First(
   const Thread_queue_Operations *operations
 )
 {
+  Thread_queue_Heads   *heads;
   Thread_Control       *the_thread;
   Thread_queue_Context  queue_context;
 
   _Thread_queue_Acquire( the_thread_queue, &queue_context );
-  the_thread = _Thread_queue_First_locked( the_thread_queue, operations );
+  heads = the_thread_queue->Queue.heads;
+
+  if ( heads != NULL ) {
+    the_thread = ( *operations->first )( heads );
+  } else {
+    the_thread = NULL;
+  }
+
   _Thread_queue_Release( the_thread_queue, &queue_context );
 
   return the_thread;
-- 
2.26.2



More information about the devel mailing list