From dcb29d2726791b4b770d4b36d27ee81d79a38f9e Mon Sep 17 00:00:00 2001 From: mzuther Date: Sun, 7 Feb 2010 02:52:59 +0000 Subject: BUG: handle negative delays in timer_process() (timer.c) git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@1105 3ae390bd-cb1e-0410-b409-cd5a39f66f1f --- timer.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'timer.c') diff --git a/timer.c b/timer.c index dfdb6e8..212c392 100644 --- a/timer.c +++ b/timer.c @@ -210,6 +210,10 @@ int timer_process(struct timespec *delay) struct timeval diff; timersub(&Timers[min].when, &now, &diff); + /* for negative delays, directly trigger next update */ + if ((diff.tv_sec < 0) || (diff.tv_usec < 0)) + timerclear(&diff); + delay->tv_sec = diff.tv_sec; /* microseconds to nanoseconds!! */ delay->tv_nsec = diff.tv_usec * 1000; -- cgit v1.2.3