From c9a0d441c4e7aedbbfbeb246af691e6c7f9f104b Mon Sep 17 00:00:00 2001 From: Nick Briggs Date: Wed, 10 Feb 2021 13:58:40 -0800 Subject: [PATCH] Cleanup timer leftovers (#341) * Remove unnecessary variables and calls during itimer setup. * Variable referenced from signal handler should be volatile and sig_atomic_t --- src/keyevent.c | 2 +- src/timer.c | 10 +++------- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/src/keyevent.c b/src/keyevent.c index 464fe9a..31bb848 100644 --- a/src/keyevent.c +++ b/src/keyevent.c @@ -135,7 +135,7 @@ static struct timeval SelectTimeout = {0, 0}; #endif /* DOS */ #ifdef XWINDOW -extern int Event_Req; +extern volatile sig_atomic_t Event_Req; #endif /* XWINDOW */ extern MISCSTATS *MiscStats; diff --git a/src/timer.c b/src/timer.c index 03cd80a..81e81b1 100644 --- a/src/timer.c +++ b/src/timer.c @@ -90,7 +90,7 @@ int TIMEOUT_TIME; /* For file system timeout */ #ifdef XWINDOW #define FALSE 0 #define TRUE !FALSE -int Event_Req = FALSE; +volatile sig_atomic_t Event_Req = FALSE; #endif /* XWINDOW */ static int gettime(int casep); @@ -463,7 +463,7 @@ static void int_timer_init() _dos_setvect(0x1c, DOStimer); /* hook our int handler to timer int */ #else - struct itimerval timert, tmpt; + struct itimerval timert; struct sigaction timer_action; timer_action.sa_handler = int_timer_service; @@ -477,11 +477,7 @@ static void int_timer_init() /* then attach a timer to it and turn it loose */ timert.it_interval.tv_sec = timert.it_value.tv_sec = 0; timert.it_interval.tv_usec = timert.it_value.tv_usec = TIMER_INTERVAL; - - timerclear(&tmpt.it_value); - timerclear(&tmpt.it_interval); - setitimer(ITIMER_VIRTUAL, &timert, &tmpt); - getitimer(ITIMER_VIRTUAL, &tmpt); + setitimer(ITIMER_VIRTUAL, &timert, NULL); DBPRINT(("Timer interval set to %d usec\n", timert.it_value.tv_usec)); #endif /* DOS */