source: rtems/cpukit/score/src/schedulersimpleyield.c @ 63e2ca1b

5
Last change on this file since 63e2ca1b was 63e2ca1b, checked in by Sebastian Huber <sebastian.huber@…>, on 10/31/16 at 08:13:35

score: Simplify yield and unblock scheduler ops

Update #2556.

  • Property mode set to 100644
File size: 930 bytes
Line 
1/**
2 * @file
3 *
4 * @brief Simple Schedule Yield CPU
5 * @ingroup ScoreScheduler
6 */
7
8/*
9 *  COPYRIGHT (c) 2011.
10 *  On-Line Applications Research Corporation (OAR).
11 *
12 *  The license and distribution terms for this file may be
13 *  found in 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/schedulersimpleimpl.h>
22
23Scheduler_Void_or_bool _Scheduler_simple_Yield(
24  const Scheduler_Control *scheduler,
25  Thread_Control          *the_thread,
26  Scheduler_Node          *node
27)
28{
29  Scheduler_simple_Context *context =
30    _Scheduler_simple_Get_context( scheduler );
31
32  (void) node;
33
34  _Chain_Extract_unprotected( &the_thread->Object.Node );
35  _Scheduler_simple_Insert_priority_fifo( &context->Ready, the_thread );
36  _Scheduler_simple_Schedule_body( scheduler, the_thread, false );
37
38  SCHEDULER_RETURN_VOID_OR_BOOL;
39}
Note: See TracBrowser for help on using the repository browser.