--- trunk/reactos/ntoskrnl/ke/timer.c 2005-02-14 16:49:36 UTC (rev 13567)
+++ trunk/reactos/ntoskrnl/ke/timer.c 2005-02-14 17:03:16 UTC (rev 13568)
@@ -245,15 +245,14 @@
Timer = CONTAINING_RECORD(CurrentEntry, KTIMER, TimerListEntry);
DPRINT("Looping for Timer: %x. Duetime: %I64d. InterruptTime %I64d \n", Timer, Timer->DueTime.QuadPart, InterruptTime);
- CurrentEntry = CurrentEntry->Flink;
-
/* Check if we have to Expire it */
- if (InterruptTime >= Timer->DueTime.QuadPart) {
+ if (InterruptTime < Timer->DueTime.QuadPart) break;
+
+ CurrentEntry = CurrentEntry->Flink;
- /* Remove it from the Timer List, add it to the Expired List */
- RemoveEntryList(&Timer->TimerListEntry);
- InsertTailList(&ExpiredTimerList, &Timer->TimerListEntry);
- }
+ /* Remove it from the Timer List, add it to the Expired List */
+ RemoveEntryList(&Timer->TimerListEntry);
+ InsertTailList(&ExpiredTimerList, &Timer->TimerListEntry);
}
/* Expire the Timers */