source: rtems/cpukit/sapi/src/exshutdown.c @ 8a6de83

4.115
Last change on this file since 8a6de83 was 8a6de83, checked in by Sebastian Huber <sebastian.huber@…>, on 02/17/14 at 09:10:27

score: Move _SMP_Request_other_cores_to_shutdown()

Move _SMP_Request_other_cores_to_shutdown() invocation from
rtems_shutdown_executive() to _Internal_error_Occurred() to allow a
proper shutdown on SMP configurations even in the error case.

  • Property mode set to 100644
File size: 1.2 KB
Line 
1/*
2 *  Initialization Manager
3 *
4 *  COPYRIGHT (c) 1989-2011.
5 *  On-Line Applications Research Corporation (OAR).
6 *
7 *  The license and distribution terms for this file may be
8 *  found in the file LICENSE in this distribution or at
9 *  http://www.rtems.com/license/LICENSE.
10 */
11
12#if HAVE_CONFIG_H
13#include "config.h"
14#endif
15
16#include <rtems/init.h>
17#include <rtems/score/sysstate.h>
18#include <rtems/score/interr.h>
19
20void rtems_shutdown_executive( uint32_t result )
21{
22  Internal_errors_Source  source;
23  bool                    is_internal;
24  Internal_errors_t       code;
25
26  if ( _System_state_Is_up( _System_state_Get() ) ) {
27    source      = RTEMS_FATAL_SOURCE_EXIT;
28    is_internal = false;
29    code        = result;
30  } else {
31    source      = INTERNAL_ERROR_CORE;
32    is_internal = true;
33    code        = INTERNAL_ERROR_SHUTDOWN_WHEN_NOT_UP;
34  }
35
36  _Internal_error_Occurred( source, is_internal, code );
37
38  /***************************************************************
39   ***************************************************************
40   *   SYSTEM SHUTS DOWN!!!  WE DO NOT RETURN TO THIS POINT!!!   *
41   ***************************************************************
42   ***************************************************************/
43}
Note: See TracBrowser for help on using the repository browser.