From e9f6d10f4d968662b22a57dfa5882d48f380b364 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Sun, 25 Jul 2004 15:00:04 +0000 Subject: 2004-07-25 Thomas Rauscher PR 609/rtems * score/src/threaddispatch.c: Close race condition between _Thread_Dispatch and _Thread_Tickle_timeslice. --- cpukit/ChangeLog | 6 ++++++ cpukit/score/src/threaddispatch.c | 5 ++--- 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'cpukit') diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog index 65a4a431ae..65d1a7a6d5 100644 --- a/cpukit/ChangeLog +++ b/cpukit/ChangeLog @@ -1,3 +1,9 @@ +2004-07-25 Thomas Rauscher + + PR 609/rtems + * score/src/threaddispatch.c: Close race condition between + _Thread_Dispatch and _Thread_Tickle_timeslice. + 2004-07-25 Victor Vengerov PR 654/rtems diff --git a/cpukit/score/src/threaddispatch.c b/cpukit/score/src/threaddispatch.c index a4f5a1072f..e1b730052d 100644 --- a/cpukit/score/src/threaddispatch.c +++ b/cpukit/score/src/threaddispatch.c @@ -70,6 +70,8 @@ void _Thread_Dispatch( void ) _Thread_Executing = heir; executing->rtems_ada_self = rtems_ada_self; rtems_ada_self = heir->rtems_ada_self; + if ( heir->budget_algorithm == THREAD_CPU_BUDGET_ALGORITHM_RESET_TIMESLICE ) + heir->cpu_time_budget = _Thread_Ticks_per_timeslice; _ISR_Enable( level ); heir->ticks_executed++; @@ -84,9 +86,6 @@ void _Thread_Dispatch( void ) _User_extensions_Thread_switch( executing, heir ); - if ( heir->budget_algorithm == THREAD_CPU_BUDGET_ALGORITHM_RESET_TIMESLICE ) - heir->cpu_time_budget = _Thread_Ticks_per_timeslice; - /* * If the CPU has hardware floating point, then we must address saving * and restoring it as part of the context switch. -- cgit v1.2.3