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

4.115
Last change on this file since e6f7f81 was 6e93dc4a, checked in by Sebastian Huber <sebastian.huber@…>, on 07/22/13 at 08:49:19

score: Create chain implementation header

Move implementation specific parts of chain.h and chain.inl into new
header file chainimpl.h. The chain.h contains now only the application
visible API.

  • Property mode set to 100644
File size: 1.1 KB
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/system.h>
26#include <rtems/score/chainimpl.h>
27#include <rtems/score/isr.h>
28#include <rtems/score/object.h>
29#include <rtems/score/states.h>
30#include <rtems/score/thread.h>
31#include <rtems/score/threadq.h>
32#include <rtems/score/tqdata.h>
33
34Thread_Control *_Thread_queue_First_priority (
35  Thread_queue_Control *the_thread_queue
36)
37{
38  uint32_t   index;
39
40  for( index=0 ;
41       index < TASK_QUEUE_DATA_NUMBER_OF_PRIORITY_HEADERS ;
42       index++ ) {
43    if ( !_Chain_Is_empty( &the_thread_queue->Queues.Priority[ index ] ) )
44      return (Thread_Control *) _Chain_First(
45        &the_thread_queue->Queues.Priority[ index ]
46      );
47  }
48  return NULL;
49}
Note: See TracBrowser for help on using the repository browser.