Don't check for critical sections when delivering special kernel mode APCs

svn path=/trunk/; revision=2353
This commit is contained in:
David Welch 2001-11-05 20:49:30 +00:00
parent e0308e50e8
commit 18992fbe14

View file

@ -347,8 +347,8 @@ KeInsertQueueApc (PKAPC Apc,
* IPI. * IPI.
* FIXME: Check if the thread is terminating. * FIXME: Check if the thread is terminating.
*/ */
if (Apc->ApcMode == KernelMode && TargetThread->KernelApcDisable >= 1 && if (Apc->ApcMode == KernelMode && TargetThread->WaitIrql < APC_LEVEL &&
TargetThread->WaitIrql < APC_LEVEL && Apc->NormalRoutine == NULL) Apc->NormalRoutine == NULL)
{ {
KeRemoveAllWaitsThread(CONTAINING_RECORD(TargetThread, ETHREAD, Tcb), KeRemoveAllWaitsThread(CONTAINING_RECORD(TargetThread, ETHREAD, Tcb),
STATUS_KERNEL_APC); STATUS_KERNEL_APC);