diff --git a/reactos/ntoskrnl/ke/timerobj.c b/reactos/ntoskrnl/ke/timerobj.c index 77f9038976a..5f6aeb94aa0 100644 --- a/reactos/ntoskrnl/ke/timerobj.c +++ b/reactos/ntoskrnl/ke/timerobj.c @@ -398,6 +398,10 @@ KeSetTimerEx(IN OUT PKTIMER Timer, /* Check if we need to do an interrupt */ if (RequestInterrupt) HalRequestSoftwareInterrupt(DISPATCH_LEVEL); + + /* Exit the dispatcher and return the old state */ + KiExitDispatcher(OldIrql); + return Inserted; } /* Set the time as Absolute */ @@ -419,7 +423,7 @@ KeSetTimerEx(IN OUT PKTIMER Timer, Timer->Header.SignalState = FALSE; KxInsertTimer(Timer, Hand); - /* Release Dispatcher Lock */ + /* Exit the dispatcher */ KiExitDispatcher(OldIrql); /* Return old state */