source: rtems/cpukit/score/src/isrthreaddispatch.c @ 5c541d4

4.104.115
Last change on this file since 5c541d4 was 5c541d4, checked in by Joel Sherrill <joel.sherrill@…>, on 03/28/10 at 17:08:54

Fix.

  • Property mode set to 100644
File size: 1.1 KB
Line 
1/**
2 * @file
3 *
4 * @brief Thread dispatch after interrupt processing.
5 */
6
7/*
8 * Copyright (c) 2009 embedded brains GmbH
9 *
10 * embedded brains GmbH
11 * Obere Lagerstr. 30
12 * D-82178 Puchheim
13 * Germany
14 * <rtems@embedded-brains.de>
15 *
16 * Copyright (c) 2009 Till Straumann <strauman@slac.stanford.edu>
17 *
18 * The license and distribution terms for this file may be
19 * found in the file LICENSE in this distribution or at
20 * http://www.rtems.com/license/LICENSE.
21 */
22
23#if HAVE_CONFIG_H
24#include "config.h"
25#endif
26
27#include <rtems.h>
28#include <rtems/score/apiext.h>
29
30#if ( CPU_ENABLE_C_ISR_DISPATCH_IMPLEMENTATION == TRUE )
31
32void _ISR_Thread_dispatch( void )
33{
34  if ( _Context_Switch_necessary ) {
35    _Thread_Dispatch();
36  } else if ( _ISR_Signals_to_thread_executing ) {
37    _ISR_Signals_to_thread_executing = false;
38    if (
39      _Thread_Do_post_task_switch_extension
40        || _Thread_Executing->do_post_task_switch_extension
41    ) {
42      _Thread_Executing->do_post_task_switch_extension = false;
43      _API_extensions_Run_postswitch();
44    }
45  }
46}
47
48#endif /* CPU_ENABLE_C_ISR_DISPATCH_IMPLEMENTATION */
Note: See TracBrowser for help on using the repository browser.