From aab50d9dd50a3423e196ea8e34f61259838f3976 Mon Sep 17 00:00:00 2001 From: Hartmut Birr Date: Sun, 15 Jan 2006 08:51:20 +0000 Subject: [PATCH] Fix the check for an empty list. svn path=/trunk/; revision=20884 --- reactos/ntoskrnl/ke/apc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/reactos/ntoskrnl/ke/apc.c b/reactos/ntoskrnl/ke/apc.c index db5d57f575c..a367aeeb04f 100644 --- a/reactos/ntoskrnl/ke/apc.c +++ b/reactos/ntoskrnl/ke/apc.c @@ -287,6 +287,8 @@ KiInsertQueueApc(PKAPC Apc, PKAPC QueuedApc; NTSTATUS Status; + ASSERT(KeGetCurrentIrql() == DISPATCH_LEVEL); + /* Acquire the lock (only needed on MP) */ KeAcquireSpinLockAtDpcLevel(&Thread->ApcQueueLock); @@ -790,7 +792,7 @@ KiDeliverApc(KPROCESSOR_MODE DeliveryMode, ApcListEntry = Thread->ApcState.ApcListHead[UserMode].Flink; /* Is it empty now? */ - if (!ApcListEntry) + if (ApcListEntry == &Thread->ApcState.ApcListHead[UserMode]) { /* Release the lock and return */ KeReleaseSpinLock(&Thread->ApcQueueLock, OldIrql);