mirror of
https://github.com/netfun2000/lcd4linux.git
synced 2026-02-27 09:44:34 +08:00
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
This commit is contained in:
+1
-1
@@ -337,7 +337,7 @@ static int drv_UL_start(const char *section, const int quiet)
|
||||
/* Init the command buffer */
|
||||
Buffer = (char *) malloc(1024);
|
||||
if (Buffer == NULL) {
|
||||
error("%s: coommand buffer could not be allocated: malloc() failed", Name);
|
||||
error("%s: command buffer could not be allocated: malloc() failed", Name);
|
||||
return -1;
|
||||
}
|
||||
BufPtr = Buffer;
|
||||
|
||||
+1
-1
@@ -306,7 +306,7 @@ static int drv_pL_start(const char *section, const int quiet)
|
||||
/* Init the command buffer */
|
||||
Buffer = (char *) malloc(1024);
|
||||
if (Buffer == NULL) {
|
||||
error("%s: coommand buffer could not be allocated: malloc() failed", Name);
|
||||
error("%s: command buffer could not be allocated: malloc() failed", Name);
|
||||
return -1;
|
||||
}
|
||||
BufPtr = Buffer;
|
||||
|
||||
@@ -520,7 +520,7 @@ static int drv_pLG_start(const char *section, const int quiet)
|
||||
/* Init the command buffer */
|
||||
Buffer = (char *) malloc(1024);
|
||||
if (Buffer == NULL) {
|
||||
error("%s: coommand buffer could not be allocated: malloc() failed", Name);
|
||||
error("%s: command buffer could not be allocated: malloc() failed", Name);
|
||||
return -1;
|
||||
}
|
||||
BufPtr = Buffer;
|
||||
|
||||
@@ -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)) {
|
||||
|
||||
Reference in New Issue
Block a user