Around 21 o'clock on Nov 1, Mark Vojkovich wrote:

>   Looks to me like UpdateCurrentTimeIf doesn't actually
> update the current time.  Shouldn't this function look like:

>    if (CompareTimeStamps(systime, currentTime) == LATER)
>        currentTime = systime;

This check should never fail -- there shouldn't be any source of times 
more recent than the time fetched from the kernel.  What is this supposed 
to achieve?

UpdateCurrentTimeIf can only modify the current time if there aren't any 
events queued.  The assumption being that any events queued *after* the 
system time is fetched will have timestamps later than the current time, 
but any events still pending in the queue will have timestamps earlier 
than the current time.  To ensure that time doesn't go backwards, 
UpdateCurrentTimeIf must avoid changing the current time if events are 
pending.  Hence the correct check:

    if (*checkForInput[0] == *checkForInput[1])
        currentTime = systime;

[EMAIL PROTECTED]        XFree86 Core Team              SuSE, Inc.


_______________________________________________
Xpert mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xpert

Reply via email to