source: rtems/cpukit/score/src/threadqfirstpriority.c @ f031df0e

4.115
Last change on this file since f031df0e was a112364, checked in by Sebastian Huber <sebastian.huber@…>, on 07/24/13 at 15:30:26

score: Create threadq implementation header

Move implementation specific parts of tqdata.h, threadq.h and
threadq.inl into new header file threadqimpl.h. The threadq.h contains
now only the application visible API.

Delete tqdata.h.

  • Property mode set to 100644
File size: 921 bytes
Line 
1/**
2 * @file
3 *
4 * @brief Returns Highest Priority Thread on Thread Queue
5 *
6 * @ingroup ScoreThreadQ
7 */
8
9/*
10 *  Thread Queue Handler
11 *
12 *
13 *  COPYRIGHT (c) 1989-2008.
14 *  On-Line Applications Research Corporation (OAR).
15 *
16 *  The license and distribution terms for this file may be
17 *  found in the file LICENSE in this distribution or at
18 *  http://www.rtems.com/license/LICENSE.
19 */
20
21#if HAVE_CONFIG_H
22#include "config.h"
23#endif
24
25#include <rtems/score/threadqimpl.h>
26#include <rtems/score/chainimpl.h>
27
28Thread_Control *_Thread_queue_First_priority (
29  Thread_queue_Control *the_thread_queue
30)
31{
32  uint32_t   index;
33
34  for( index=0 ;
35       index < TASK_QUEUE_DATA_NUMBER_OF_PRIORITY_HEADERS ;
36       index++ ) {
37    if ( !_Chain_Is_empty( &the_thread_queue->Queues.Priority[ index ] ) )
38      return (Thread_Control *) _Chain_First(
39        &the_thread_queue->Queues.Priority[ index ]
40      );
41  }
42  return NULL;
43}
Note: See TracBrowser for help on using the repository browser.