mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-09-02 07:56:51 +08:00
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:
@@ -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,
|
||||
|
||||
@@ -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 );
|
||||
|
||||
Reference in New Issue
Block a user