summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--c/src/exec/sapi/src/exinit.c5
-rw-r--r--cpukit/sapi/src/exinit.c5
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();
+ }
}