score: Do not disable ISR in _Terminate()

This partially reverts 38ee75853f.  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.
This commit is contained in:
Sebastian Huber
2016-07-06 09:33:20 +02:00
parent 8aa75d0cb1
commit 008efaff7f
2 changed files with 1 additions and 9 deletions
+1 -3
View File
@@ -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,
-6
View File
@@ -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 );