diff options
Diffstat (limited to 'cpukit/rtems/src/timerserverfirewhen.c')
-rw-r--r-- | cpukit/rtems/src/timerserverfirewhen.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/cpukit/rtems/src/timerserverfirewhen.c b/cpukit/rtems/src/timerserverfirewhen.c index cece25e926..a1f2caee6f 100644 --- a/cpukit/rtems/src/timerserverfirewhen.c +++ b/cpukit/rtems/src/timerserverfirewhen.c @@ -79,10 +79,12 @@ rtems_status_code rtems_timer_server_fire_when( _Watchdog_Initialize( &the_timer->Ticker, routine, id, user_data ); the_timer->Ticker.initial = seconds - _TOD_Seconds_since_epoch; - _Timer_Server_stop_seconds_timer(); - _Timer_Server_process_seconds_chain(); - _Watchdog_Insert( &_Timer_Seconds_chain, &the_timer->Ticker ); - _Timer_Server_reset_seconds_timer(); + /* + * _Timer_Server_schedule_operation != NULL because we checked that + * _Timer_Server was != NULL above. Both are set at the same time. + */ + + (*_Timer_Server_schedule_operation)( the_timer ); _Thread_Enable_dispatch(); return RTEMS_SUCCESSFUL; |