diff options
author | mzuther <mzuther@3ae390bd-cb1e-0410-b409-cd5a39f66f1f> | 2010-02-07 02:52:59 +0000 |
---|---|---|
committer | mzuther <mzuther@3ae390bd-cb1e-0410-b409-cd5a39f66f1f> | 2010-02-07 02:52:59 +0000 |
commit | dcb29d2726791b4b770d4b36d27ee81d79a38f9e (patch) | |
tree | 171f62cb4fcb43b2512125e0832a378d70ba6e36 | |
parent | 7a8ba6a1135800510b93621b78e6d0d3f53e0c2c (diff) | |
download | lcd4linux-dcb29d2726791b4b770d4b36d27ee81d79a38f9e.tar.gz |
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
-rw-r--r-- | timer.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -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; |