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;
|
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
|
* @brief Returns the first thread on the thread queue if it exists, otherwise
|
||||||
* @c NULL.
|
* @c NULL.
|
||||||
|
|||||||
@@ -27,11 +27,19 @@ Thread_Control *_Thread_queue_First(
|
|||||||
const Thread_queue_Operations *operations
|
const Thread_queue_Operations *operations
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
Thread_queue_Heads *heads;
|
||||||
Thread_Control *the_thread;
|
Thread_Control *the_thread;
|
||||||
Thread_queue_Context queue_context;
|
Thread_queue_Context queue_context;
|
||||||
|
|
||||||
_Thread_queue_Acquire( the_thread_queue, &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 );
|
_Thread_queue_Release( the_thread_queue, &queue_context );
|
||||||
|
|
||||||
return the_thread;
|
return the_thread;
|
||||||
|
|||||||
Reference in New Issue
Block a user