mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-09-21 15:39:19 +08:00
score: Add nest level to interal error state
Add Internal_errors_Information::nest_level. This helps to detect recursive calls to _Internal_error_Occurred().
This commit is contained in:
@@ -88,6 +88,13 @@ typedef struct {
|
||||
bool is_internal;
|
||||
/** This is the error code. */
|
||||
Internal_errors_t the_error;
|
||||
|
||||
/**
|
||||
* @brief The internal error nest level.
|
||||
*
|
||||
* This helps to detect recursive calls to _Internal_error_Occurred().
|
||||
*/
|
||||
uint32_t nest_level;
|
||||
} Internal_errors_Information;
|
||||
|
||||
/**
|
||||
|
||||
@@ -55,6 +55,8 @@ void _Internal_error_Occurred(
|
||||
_Internal_errors_What_happened.is_internal = is_internal;
|
||||
_Internal_errors_What_happened.the_error = the_error;
|
||||
|
||||
++_Internal_errors_What_happened.nest_level;
|
||||
|
||||
_User_extensions_Fatal( the_source, is_internal, the_error );
|
||||
|
||||
_System_state_Set( SYSTEM_STATE_FAILED );
|
||||
|
||||
Reference in New Issue
Block a user