Now use _Thread_Reset().

This commit is contained in:
Joel Sherrill
1999-11-16 16:09:50 +00:00
parent 88cb6b22ab
commit d3fdf45917
2 changed files with 8 additions and 38 deletions

View File

@@ -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 );