source: rtems/cpukit/score/src/scheduleredfreleasejob.c @ 439c494

4.115
Last change on this file since 439c494 was c499856, checked in by Chris Johns <chrisj@…>, on 03/20/14 at 21:10:47

Change all references of rtems.com to rtems.org.

  • Property mode set to 100644
File size: 1.0 KB
Line 
1/**
2 * @file
3 *
4 * @brief Scheduler EDF Release Job
5 * @ingroup ScoreScheduler
6 */
7
8/*
9 *  Copyright (C) 2011 Petr Benes.
10 *  Copyright (C) 2011 On-Line Applications Research Corporation (OAR).
11 *
12 *  The license and distribution terms for this file may be
13 *  found in the file LICENSE in this distribution or at
14 *  http://www.rtems.org/license/LICENSE.
15 */
16
17#if HAVE_CONFIG_H
18#include "config.h"
19#endif
20
21#include <rtems/score/scheduleredf.h>
22#include <rtems/score/threadimpl.h>
23#include <rtems/score/watchdogimpl.h>
24
25void _Scheduler_EDF_Release_job(
26  Thread_Control    *the_thread,
27  uint32_t           deadline
28)
29{
30  Priority_Control new_priority;
31
32  if (deadline) {
33    /* Initializing or shifting deadline. */
34    new_priority = (_Watchdog_Ticks_since_boot + deadline)
35                   & ~SCHEDULER_EDF_PRIO_MSB;
36  }
37  else {
38    /* Switch back to background priority. */
39    new_priority = the_thread->Start.initial_priority;
40  }
41
42  the_thread->real_priority = new_priority;
43  _Thread_Change_priority(the_thread, new_priority, true);
44}
Note: See TracBrowser for help on using the repository browser.