forked from Imagelibrary/rtems
2004-07-25 Thomas Rauscher <trauscher@loytec.com>
PR 609/rtems * score/src/threaddispatch.c: Close race condition between _Thread_Dispatch and _Thread_Tickle_timeslice.
This commit is contained in:
@@ -1,3 +1,9 @@
|
|||||||
|
2004-07-25 Thomas Rauscher <trauscher@loytec.com>
|
||||||
|
|
||||||
|
PR 609/rtems
|
||||||
|
* score/src/threaddispatch.c: Close race condition between
|
||||||
|
_Thread_Dispatch and _Thread_Tickle_timeslice.
|
||||||
|
|
||||||
2004-07-25 Victor Vengerov <Victor.Vengerov@oktetlabs.ru>
|
2004-07-25 Victor Vengerov <Victor.Vengerov@oktetlabs.ru>
|
||||||
|
|
||||||
PR 654/rtems
|
PR 654/rtems
|
||||||
|
|||||||
@@ -70,6 +70,8 @@ void _Thread_Dispatch( void )
|
|||||||
_Thread_Executing = heir;
|
_Thread_Executing = heir;
|
||||||
executing->rtems_ada_self = rtems_ada_self;
|
executing->rtems_ada_self = rtems_ada_self;
|
||||||
rtems_ada_self = heir->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 );
|
_ISR_Enable( level );
|
||||||
|
|
||||||
heir->ticks_executed++;
|
heir->ticks_executed++;
|
||||||
@@ -84,9 +86,6 @@ void _Thread_Dispatch( void )
|
|||||||
|
|
||||||
_User_extensions_Thread_switch( executing, heir );
|
_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
|
* If the CPU has hardware floating point, then we must address saving
|
||||||
* and restoring it as part of the context switch.
|
* and restoring it as part of the context switch.
|
||||||
|
|||||||
Reference in New Issue
Block a user