source:
rtems/cpukit/score/src/scheduleredfreleasejob.c
@
9a78f8a5
Last change on this file since 9a78f8a5 was 9a78f8a5, checked in by Sebastian Huber <sebastian.huber@…>, on 06/16/16 at 15:08:54 | |
---|---|
|
|
File size: 1.0 KB |
Rev | Line | |
---|---|---|
[8396c18e] | 1 | /** |
2 | * @file | |
3 | * | |
4 | * @brief Scheduler EDF Release Job | |
5 | * @ingroup ScoreScheduler | |
6 | */ | |
7 | ||
[5472ad41] | 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 | |
[c499856] | 14 | * http://www.rtems.org/license/LICENSE. |
[5472ad41] | 15 | */ |
16 | ||
17 | #if HAVE_CONFIG_H | |
18 | #include "config.h" | |
19 | #endif | |
20 | ||
21 | #include <rtems/score/scheduleredf.h> | |
[5618c37a] | 22 | #include <rtems/score/threadimpl.h> |
[4b48ece0] | 23 | #include <rtems/score/watchdogimpl.h> |
[5472ad41] | 24 | |
25 | void _Scheduler_EDF_Release_job( | |
[e1598a6] | 26 | const Scheduler_Control *scheduler, |
27 | Thread_Control *the_thread, | |
[9a78f8a5] | 28 | uint64_t deadline |
[5472ad41] | 29 | ) |
30 | { | |
31 | Priority_Control new_priority; | |
[900d337f] | 32 | Priority_Control unused; |
[5472ad41] | 33 | |
[24934e36] | 34 | (void) scheduler; |
35 | ||
[5472ad41] | 36 | if (deadline) { |
37 | /* Initializing or shifting deadline. */ | |
[9a78f8a5] | 38 | new_priority = (uint32_t) deadline & ~SCHEDULER_EDF_PRIO_MSB; |
[5472ad41] | 39 | } |
40 | else { | |
41 | /* Switch back to background priority. */ | |
42 | new_priority = the_thread->Start.initial_priority; | |
43 | } | |
44 | ||
[900d337f] | 45 | _Thread_Set_priority( the_thread, new_priority, &unused, true ); |
[5472ad41] | 46 | } |
Note: See TracBrowser
for help on using the repository browser.