[rtems commit] score: Do not disable ISR in _Terminate()

Sebastian Huber sebh at rtems.org
Wed Jul 6 07:34:12 UTC 2016


Module:    rtems
Branch:    master
Commit:    008efaff7f7d1003ea2648a7cef338ec93f60d70
Changeset: http://git.rtems.org/rtems/commit/?id=008efaff7f7d1003ea2648a7cef338ec93f60d70

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Tue Jul  5 09:00:32 2016 +0200

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.

---

 cpukit/score/include/rtems/score/interr.h | 4 +---
 cpukit/score/src/interr.c                 | 6 ------
 2 files changed, 1 insertion(+), 9 deletions(-)

diff --git a/cpukit/score/include/rtems/score/interr.h b/cpukit/score/include/rtems/score/interr.h
index ca48db2..8d4c104 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 24ac9a4..526023f 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 );




More information about the vc mailing list