summaryrefslogtreecommitdiffstats
path: root/cpukit/rtems/src/timerreset.c
diff options
context:
space:
mode:
authorThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2009-11-30 09:08:35 +0000
committerThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2009-11-30 09:08:35 +0000
commit6e51c4c9f7212bd696ee7aa777c9ca4ac1ad6d3b (patch)
tree0260716bb7c1fc8b80e018924678a0b74a7b42bf /cpukit/rtems/src/timerreset.c
parentRegenerate. (diff)
downloadrtems-6e51c4c9f7212bd696ee7aa777c9ca4ac1ad6d3b.tar.bz2
Added timer server control block
Removed _Timer_Server thread pointer Added _Timer_server pointer to the default timer server control block Rework of the timer server implementation.
Diffstat (limited to 'cpukit/rtems/src/timerreset.c')
-rw-r--r--cpukit/rtems/src/timerreset.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/cpukit/rtems/src/timerreset.c b/cpukit/rtems/src/timerreset.c
index 43f41b50ba..fc3f074895 100644
--- a/cpukit/rtems/src/timerreset.c
+++ b/cpukit/rtems/src/timerreset.c
@@ -55,6 +55,8 @@ rtems_status_code rtems_timer_reset(
_Watchdog_Remove( &the_timer->Ticker );
_Watchdog_Insert( &_Watchdog_Ticks_chain, &the_timer->Ticker );
} else if ( the_timer->the_class == TIMER_INTERVAL_ON_TASK ) {
+ Timer_server_Control *timer_server = _Timer_server;
+
/*
* There is no way for a timer to have this class unless
* it was scheduled as a server fire. That requires that
@@ -62,13 +64,13 @@ rtems_status_code rtems_timer_reset(
* occur unless something is internally wrong.
*/
#if defined(RTEMS_DEBUG)
- if ( !_Timer_Server_schedule_operation ) {
+ if ( !timer_server ) {
_Thread_Enable_dispatch();
return RTEMS_INCORRECT_STATE;
}
#endif
_Watchdog_Remove( &the_timer->Ticker );
- (*_Timer_Server_schedule_operation)( the_timer );
+ (*timer_server->schedule_operation)( timer_server, the_timer );
} else {
/*
* Must be dormant or time of day timer (e.g. TIMER_DORMANT,