[NTOSKRNL]

- Fix ExInterlockedPopEntryList and ExInterlockedPushEntryList, they were not working at all. Brought to you by Timo ;)

svn path=/branches/header-work/; revision=47201
This commit is contained in:
Amine Khaldi 2010-05-14 18:40:23 +00:00
parent d052e38953
commit 5b939ffc3c

View file

@ -255,7 +255,7 @@ ExInterlockedPopEntryList(IN PSINGLE_LIST_ENTRY ListHead,
KIRQL OldIrql; KIRQL OldIrql;
PSINGLE_LIST_ENTRY OldHead = NULL; PSINGLE_LIST_ENTRY OldHead = NULL;
KeAcquireSpinLock(Lock, &OldIrql); KeAcquireSpinLock(Lock, &OldIrql);
if (!ListHead->Next) OldHead = PopEntryList(ListHead); OldHead = PopEntryList(ListHead);
KeReleaseSpinLock(Lock, OldIrql); KeReleaseSpinLock(Lock, OldIrql);
return OldHead; return OldHead;
} }
@ -269,7 +269,8 @@ ExInterlockedPushEntryList(IN PSINGLE_LIST_ENTRY ListHead,
KIRQL OldIrql; KIRQL OldIrql;
PSINGLE_LIST_ENTRY OldHead = NULL; PSINGLE_LIST_ENTRY OldHead = NULL;
KeAcquireSpinLock(Lock, &OldIrql); KeAcquireSpinLock(Lock, &OldIrql);
if (!ListHead->Next) OldHead = PushEntryList(ListHead, ListEntry); OldHead = ListHead->Next;
PushEntryList(ListHead, ListEntry);
KeReleaseSpinLock(Lock, OldIrql); KeReleaseSpinLock(Lock, OldIrql);
return OldHead; return OldHead;
} }