diff options
Diffstat (limited to 'cpukit/posix/src/timertsr.c')
-rw-r--r-- | cpukit/posix/src/timertsr.c | 89 |
1 files changed, 0 insertions, 89 deletions
diff --git a/cpukit/posix/src/timertsr.c b/cpukit/posix/src/timertsr.c deleted file mode 100644 index 092bf16aa3..0000000000 --- a/cpukit/posix/src/timertsr.c +++ /dev/null @@ -1,89 +0,0 @@ -/** - * @file - * - * @brief Operation that is run when a timer expires - * @ingroup POSIX_INTERNAL_TIMERS Timers - */ - -/* - * _POSIX_Timer_TSR - * - * COPYRIGHT (c) 1989-2007. - * On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#if HAVE_CONFIG_H -#include "config.h" -#endif - -#include <time.h> -#include <pthread.h> -#include <signal.h> - -#include <rtems/posix/ptimer.h> -#include <rtems/posix/timerimpl.h> -#include <rtems/score/todimpl.h> - -/* - * This is the operation that is run when a timer expires - */ -void _POSIX_Timer_TSR( - Objects_Id timer RTEMS_UNUSED, - void *data) -{ - POSIX_Timer_Control *ptimer; - bool activated; - - ptimer = (POSIX_Timer_Control *)data; - - /* Increment the number of expirations. */ - ptimer->overrun = ptimer->overrun + 1; - - /* The timer must be reprogrammed */ - if ( ( ptimer->timer_data.it_interval.tv_sec != 0 ) || - ( ptimer->timer_data.it_interval.tv_nsec != 0 ) ) { - activated = _POSIX_Timer_Insert_helper( - &ptimer->Timer, - ptimer->ticks, - ptimer->Object.id, - _POSIX_Timer_TSR, - ptimer - ); - if ( !activated ) - return; - - /* Store the time when the timer was started again */ - _TOD_Get_as_timespec( &ptimer->time ); - - /* The state really did not change but just to be safe */ - ptimer->state = POSIX_TIMER_STATE_CREATE_RUN; - } else { - /* Indicates that the timer is stopped */ - ptimer->state = POSIX_TIMER_STATE_CREATE_STOP; - } - - /* - * The sending of the signal to the process running the handling function - * specified for that signal is simulated - */ - - if ( pthread_kill ( ptimer->thread_id, ptimer->inf.sigev_signo ) ) { - _Assert( FALSE ); - /* - * TODO: What if an error happens at run-time? This should never - * occur because the timer should be canceled if the thread - * is deleted. This method is being invoked from the Clock - * Tick ISR so even if we decide to take action on an error, - * we don't have many options. We shouldn't shut the system down. - */ - } - - /* After the signal handler returns, the count of expirations of the - * timer must be set to 0. - */ - ptimer->overrun = 0; -} |