summaryrefslogtreecommitdiffstats
path: root/cpukit/score/src
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/score/src')
-rw-r--r--cpukit/score/src/threaddispatch.c3
-rw-r--r--cpukit/score/src/threadrestart.c4
2 files changed, 5 insertions, 2 deletions
diff --git a/cpukit/score/src/threaddispatch.c b/cpukit/score/src/threaddispatch.c
index 2fd125dd76..fd3f4eda4d 100644
--- a/cpukit/score/src/threaddispatch.c
+++ b/cpukit/score/src/threaddispatch.c
@@ -358,6 +358,9 @@ void _Thread_Dispatch_direct( Per_CPU_Control *cpu_self )
_Thread_Do_dispatch( cpu_self, level );
}
+RTEMS_ALIAS( _Thread_Dispatch_direct ) void
+_Thread_Dispatch_direct_no_return( Per_CPU_Control * );
+
void _Thread_Dispatch_enable( Per_CPU_Control *cpu_self )
{
uint32_t disable_level = cpu_self->thread_dispatch_disable_level;
diff --git a/cpukit/score/src/threadrestart.c b/cpukit/score/src/threadrestart.c
index 3c0190164e..364d67d04e 100644
--- a/cpukit/score/src/threadrestart.c
+++ b/cpukit/score/src/threadrestart.c
@@ -288,7 +288,7 @@ void _Thread_Life_action_handler(
if ( _Thread_Is_life_terminating( previous_life_state ) ) {
cpu_self = _Thread_Wait_for_join( executing, cpu_self );
_Thread_Make_zombie( executing );
- _Thread_Dispatch_direct( cpu_self );
+ _Thread_Dispatch_direct_no_return( cpu_self );
RTEMS_UNREACHABLE();
}
@@ -610,7 +610,7 @@ void _Thread_Restart_self(
_Thread_Wait_release_default( executing, lock_context );
_Thread_Priority_update( &queue_context );
- _Thread_Dispatch_direct( cpu_self );
+ _Thread_Dispatch_direct_no_return( cpu_self );
RTEMS_UNREACHABLE();
}