summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2016-07-05 09:00:32 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-07-06 09:33:20 +0200
commit008efaff7f7d1003ea2648a7cef338ec93f60d70 (patch)
tree7731822ae3b13329125ecfc174d9288db5827758
parentConfig (.cfg) files are only valid if deeper than 5. (diff)
downloadrtems-008efaff7f7d1003ea2648a7cef338ec93f60d70.tar.bz2
score: Do not disable ISR in _Terminate()
This partially reverts 38ee75853f674977609bd078c69fb53420afdd08. Let the calling context decide if interrupts must be disabled or not. The goal is to enable fatal extensions to continue program execution after some fatal errors.
-rw-r--r--cpukit/score/include/rtems/score/interr.h4
-rw-r--r--cpukit/score/src/interr.c6
2 files changed, 1 insertions, 9 deletions
diff --git a/cpukit/score/include/rtems/score/interr.h b/cpukit/score/include/rtems/score/interr.h
index ca48db2c06..8d4c104e28 100644
--- a/cpukit/score/include/rtems/score/interr.h
+++ b/cpukit/score/include/rtems/score/interr.h
@@ -192,9 +192,7 @@ extern Internal_errors_Information _Internal_errors_What_happened;
* determines that a fatal error has occurred or a final system state is
* reached (for example after exit()).
*
- * The first action is to disable interrupts.
- *
- * The second action of this function is to call the fatal handler of the user
+ * The first action of this function is to call the fatal handler of the user
* extensions. For the initial extensions the following conditions are
* required
* - a valid stack pointer and enough stack space,
diff --git a/cpukit/score/src/interr.c b/cpukit/score/src/interr.c
index 24ac9a49a0..526023f5ba 100644
--- a/cpukit/score/src/interr.c
+++ b/cpukit/score/src/interr.c
@@ -19,7 +19,6 @@
#endif
#include <rtems/score/interr.h>
-#include <rtems/score/isrlevel.h>
#include <rtems/score/smpimpl.h>
#include <rtems/score/sysstate.h>
#include <rtems/score/userextimpl.h>
@@ -34,11 +33,6 @@ void _Terminate(
Internal_errors_t the_error
)
{
- ISR_Level level;
-
- _ISR_Local_disable( level );
- (void) level;
-
_SMP_Request_shutdown();
_User_extensions_Fatal( the_source, is_internal, the_error );