- Verify valid IRQL in KeDelayExecutionThread, just like in KeWait*
- Return from KeDelayExecutionThread after yielding execution
svn path=/trunk/; revision=62590
LARGE_INTEGER DueTime, NewDueTime, InterruptTime;
ULONG Hand = 0;
+ if (Thread->WaitNext)
+ ASSERT(KeGetCurrentIrql() == DISPATCH_LEVEL);
+ else
+ ASSERT(KeGetCurrentIrql() <= APC_LEVEL);
+
/* If this is a user-mode wait of 0 seconds, yield execution */
if (!(Interval->QuadPart) && (WaitMode != KernelMode))
{
if (!(Alertable) && !(Thread->ApcState.UserApcPending))
{
/* Yield execution */
- NtYieldExecution();
+ return NtYieldExecution();
}
}