diff options
-rw-r--r-- | c/src/exec/sapi/src/exinit.c | 5 | ||||
-rw-r--r-- | cpukit/sapi/src/exinit.c | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/c/src/exec/sapi/src/exinit.c b/c/src/exec/sapi/src/exinit.c index 89d5ed6f70..37e2cc4df1 100644 --- a/c/src/exec/sapi/src/exinit.c +++ b/c/src/exec/sapi/src/exinit.c @@ -290,5 +290,8 @@ void rtems_shutdown_executive( unsigned32 result ) { - _Thread_Stop_multitasking(); + if ( _System_state_Current != SYSTEM_STATE_SHUTDOWN ) { + _System_state_Set( SYSTEM_STATE_SHUTDOWN ); + _Thread_Stop_multitasking(); + } } diff --git a/cpukit/sapi/src/exinit.c b/cpukit/sapi/src/exinit.c index 89d5ed6f70..37e2cc4df1 100644 --- a/cpukit/sapi/src/exinit.c +++ b/cpukit/sapi/src/exinit.c @@ -290,5 +290,8 @@ void rtems_shutdown_executive( unsigned32 result ) { - _Thread_Stop_multitasking(); + if ( _System_state_Current != SYSTEM_STATE_SHUTDOWN ) { + _System_state_Set( SYSTEM_STATE_SHUTDOWN ); + _Thread_Stop_multitasking(); + } } |