https://git.reactos.org/?p=reactos.git;a=commitdiff;h=f944f3a6cdae3a09c21d1…
commit f944f3a6cdae3a09c21d18a7924eb3beb4ee584f
Author: Timo Kreuzer <timo.kreuzer(a)reactos.org>
AuthorDate: Thu May 30 15:44:56 2019 +0200
Commit: Timo Kreuzer <timo.kreuzer(a)reactos.org>
CommitDate: Tue Dec 31 09:43:14 2019 +0100
[NTOS] In KeWaitFor*Object(s) assert that the current IRQL is SYNCH_LEVEL. not
DISPATCH_LEVEL, since acquiring the dispatcher lock raises to SYNCH_LEVEL, which is !=
DISPATCH_LEVEL on x64 and SMP builds.
---
ntoskrnl/ke/wait.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/ntoskrnl/ke/wait.c b/ntoskrnl/ke/wait.c
index ed81484ab3e..bae1e8fcd60 100644
--- a/ntoskrnl/ke/wait.c
+++ b/ntoskrnl/ke/wait.c
@@ -431,7 +431,7 @@ KeWaitForSingleObject(IN PVOID Object,
ULONG Hand = 0;
if (Thread->WaitNext)
- ASSERT(KeGetCurrentIrql() == DISPATCH_LEVEL);
+ ASSERT(KeGetCurrentIrql() == SYNCH_LEVEL);
else
ASSERT(KeGetCurrentIrql() < DISPATCH_LEVEL ||
(KeGetCurrentIrql() == DISPATCH_LEVEL &&
@@ -604,7 +604,7 @@ KeWaitForMultipleObjects(IN ULONG Count,
ULONG Index, Hand = 0;
if (Thread->WaitNext)
- ASSERT(KeGetCurrentIrql() == DISPATCH_LEVEL);
+ ASSERT(KeGetCurrentIrql() == SYNCH_LEVEL);
else if (KeGetCurrentIrql() == DISPATCH_LEVEL &&
(!Timeout || Timeout->QuadPart != 0))
{