forked from Imagelibrary/rtems
score: Remove _Thread_queue_First_locked()
The _Thread_queue_First_locked() was only used in one place. Move the code of this inline function to this place.
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user