From b35fc3f8cbd2ddda61fc256e771c61efc0457a59 Mon Sep 17 00:00:00 2001 From: mzuther Date: Sun, 7 Feb 2010 20:45:51 +0000 Subject: timer.c: two small optimizations (removed "flag"; tv_usec can't be negative) git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@1107 3ae390bd-cb1e-0410-b409-cd5a39f66f1f --- timer.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'timer.c') diff --git a/timer.c b/timer.c index 212c392..80d2521 100644 --- a/timer.c +++ b/timer.c @@ -156,7 +156,7 @@ int timer_add(void (*callback) (void *data), void *data, const int interval, con int timer_process(struct timespec *delay) { - int i, flag, min; + int i, min; struct timeval now; /* the current moment */ @@ -187,15 +187,12 @@ int timer_process(struct timespec *delay) } /* find next timer */ - flag = 1; min = -1; for (i = 0; i < nTimers; i++) { if (Timers[i].active == 0) continue; - if (flag || timercmp(&Timers[i].when, &Timers[min].when, <)) { - flag = 0; + if ((min < 0) || timercmp(&Timers[i].when, &Timers[min].when, <)) min = i; - } } if (min < 0) { @@ -211,8 +208,8 @@ int timer_process(struct timespec *delay) timersub(&Timers[min].when, &now, &diff); /* for negative delays, directly trigger next update */ - if ((diff.tv_sec < 0) || (diff.tv_usec < 0)) - timerclear(&diff); + if (diff.tv_sec < 0) + timerclear(&diff); delay->tv_sec = diff.tv_sec; /* microseconds to nanoseconds!! */ -- cgit v1.2.3