diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-02-17 10:10:27 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-02-19 09:59:39 +0100 |
commit | 8a6de83fd833c4b0458ba27eb4883c53c1b1ecf4 (patch) | |
tree | ea45e29f7ca5cab0a54ad005e93f942079442814 /cpukit/score/src/interr.c | |
parent | score: Disable ISR in _Internal_error_Occurred() (diff) | |
download | rtems-8a6de83fd833c4b0458ba27eb4883c53c1b1ecf4.tar.bz2 |
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.
Diffstat (limited to 'cpukit/score/src/interr.c')
-rw-r--r-- | cpukit/score/src/interr.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/cpukit/score/src/interr.c b/cpukit/score/src/interr.c index 9f52ce70cf..bb15e0cbe4 100644 --- a/cpukit/score/src/interr.c +++ b/cpukit/score/src/interr.c @@ -20,6 +20,7 @@ #include <rtems/score/interr.h> #include <rtems/score/isrlevel.h> +#include <rtems/score/smp.h> #include <rtems/score/sysstate.h> #include <rtems/score/userextimpl.h> @@ -38,6 +39,8 @@ void _Internal_error_Occurred( _ISR_Disable_without_giant( level ); (void) level; + _SMP_Request_other_cores_to_shutdown(); + _User_extensions_Fatal( the_source, is_internal, the_error ); _Internal_errors_What_happened.the_source = the_source; |