diff options
author | mzuther <mzuther@3ae390bd-cb1e-0410-b409-cd5a39f66f1f> | 2011-02-12 22:46:19 +0000 |
---|---|---|
committer | mzuther <mzuther@3ae390bd-cb1e-0410-b409-cd5a39f66f1f> | 2011-02-12 22:46:19 +0000 |
commit | f17287509f698f21f38ae047a306ddca3fc13140 (patch) | |
tree | e9e0c09fb2ee1d6dd0eaa82365bb101308660f03 /timer.c | |
parent | 5e69b1e3961ee896d44107c05650c915d9b24298 (diff) | |
download | lcd4linux-f17287509f698f21f38ae047a306ddca3fc13140.tar.gz |
timer.c: fixed detection of positive clock skew (and some typos)
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@1143 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
Diffstat (limited to 'timer.c')
-rw-r--r-- | timer.c | 14 |
1 files changed, 7 insertions, 7 deletions
@@ -443,16 +443,16 @@ int timer_process(struct timespec *delay) in "diff" */ timersub(&Timers[next_timer].when, &now, &diff); - /* convert "diff" to milliseconds */ - int time_difference = (diff.tv_sec * 1000.0f) + (diff.tv_usec / 1000.0f); - - /* a notable negative delay has occurred (positive clock skew or - some timers are faster than the time needed for processing - their callbacks) */ - if (time_difference < (-CLOCK_SKEW_DETECT_TIME_IN_MS)) { + /* a negative delay has occurred (positive clock skew or some + timers are faster than the time needed for processing their + callbacks) */ + if (diff.tv_sec < 0) { /* zero "diff" so the next update is triggered immediately */ timerclear(&diff); } else { + /* convert "diff" to milliseconds */ + int time_difference = diff.tv_sec * 1000 + diff.tv_usec / 1000; + /* if there is a notable difference between "time_difference" and the next upcoming timer's interval, assume clock skew */ if (time_difference > (Timers[next_timer].interval + CLOCK_SKEW_DETECT_TIME_IN_MS)) { |