From d3fdf459179a4b176ebf90e603d1714c90af584c Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Tue, 16 Nov 1999 16:09:50 +0000 Subject: Now use _Thread_Reset(). --- cpukit/score/src/threadrestart.c | 23 ++++------------------- 1 file changed, 4 insertions(+), 19 deletions(-) (limited to 'cpukit/score/src') diff --git a/cpukit/score/src/threadrestart.c b/cpukit/score/src/threadrestart.c index 229dbe2d94..395599cf96 100644 --- a/cpukit/score/src/threadrestart.c +++ b/cpukit/score/src/threadrestart.c @@ -32,7 +32,9 @@ * * DESCRIPTION: * - * XXX + * This support routine restarts the specified task in a way that the + * next time this thread executes, it will begin execution at its + * original starting point. */ boolean _Thread_Restart( @@ -44,25 +46,8 @@ boolean _Thread_Restart( if ( !_States_Is_dormant( the_thread->current_state ) ) { _Thread_Set_transient( the_thread ); - the_thread->resource_count = 0; - the_thread->suspend_count = 0; - the_thread->is_preemptible = the_thread->Start.is_preemptible; - the_thread->budget_algorithm = the_thread->Start.budget_algorithm; - the_thread->budget_callout = the_thread->Start.budget_callout; - the_thread->Start.pointer_argument = pointer_argument; - the_thread->Start.numeric_argument = numeric_argument; - - if ( !_Thread_queue_Extract_with_proxy( the_thread ) ) { - - if ( _Watchdog_Is_active( &the_thread->Timer ) ) - (void) _Watchdog_Remove( &the_thread->Timer ); - } - - if ( the_thread->current_priority != the_thread->Start.initial_priority ) { - the_thread->real_priority = the_thread->Start.initial_priority; - _Thread_Set_priority( the_thread, the_thread->Start.initial_priority ); - } + _Thread_Reset( the_thread, pointer_argument, numeric_argument ); _Thread_Load_environment( the_thread ); -- cgit v1.2.3