From 353082ed1f6d5cec1030b97b1ecb74689ad9e8b9 Mon Sep 17 00:00:00 2001 From: deuce <> Date: Wed, 13 Aug 2003 20:32:21 +0000 Subject: [PATCH] Fix bug in ODTimerElapsed that resulted in massive Durations being checked --- src/odoors/ODPlat.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/odoors/ODPlat.c b/src/odoors/ODPlat.c index 0420c77315..ced094b2f7 100644 --- a/src/odoors/ODPlat.c +++ b/src/odoors/ODPlat.c @@ -578,9 +578,7 @@ void ODTimerStart(tODTimer *pTimer, tODMilliSec Duration) #endif /* ODPLAT_WIN32 */ #ifdef ODPLAT_NIX - gettimeofday(&tv,NULL); - pTimer->Start.tv_sec=tv.tv_sec; - pTimer->Start.tv_usec=tv.tv_usec; + gettimeofday(&(pTimer->Start),NULL); pTimer->Duration = Duration; #endif } @@ -618,10 +616,8 @@ BOOL ODTimerElapsed(tODTimer *pTimer) /* Don't bother checking for RunKernelTimer */ if (pTimer==&RunKernelTimer) return; - tv.tv_sec=0; - tv.tv_usec=1000; end.tv_sec=pTimer->Start.tv_sec+(pTimer->Duration / 1000); - end.tv_usec=(pTimer->Start.tv_usec+(pTimer->Duration*1000))%1000000; + end.tv_usec=((pTimer->Start.tv_usec)+((pTimer->Duration)*1000))%1000000; gettimeofday(&tv,NULL); return(end.tv_sec >= tv.tv_sec && end.tv_usec >= tv.tv_usec); #endif -- GitLab