mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 10:04:49 +00:00
Fixed [Ke/Nt]WaitForMultipleObjects() bug
svn path=/trunk/; revision=1239
This commit is contained in:
parent
db1ccdf290
commit
3ca24a2c2a
1 changed files with 60 additions and 60 deletions
|
@ -496,7 +496,12 @@ KeWaitForMultipleObjects (
|
|||
}
|
||||
blk = WaitBlockArray;
|
||||
}
|
||||
if (Timeout != NULL)
|
||||
{
|
||||
KeAddThreadTimeout(CurrentThread,Timeout);
|
||||
}
|
||||
|
||||
do {
|
||||
KeAcquireDispatcherDatabaseLock(FALSE);
|
||||
|
||||
for (i = 0; i < Count; i++)
|
||||
|
@ -525,11 +530,6 @@ KeWaitForMultipleObjects (
|
|||
return(STATUS_WAIT_0);
|
||||
}
|
||||
|
||||
if (Timeout != NULL)
|
||||
{
|
||||
KeAddThreadTimeout(CurrentThread,Timeout);
|
||||
}
|
||||
|
||||
/* Append wait block to the KTHREAD wait block list */
|
||||
CurrentThread->WaitBlockList = blk;
|
||||
|
||||
|
@ -550,8 +550,8 @@ KeWaitForMultipleObjects (
|
|||
DPRINT("blk %p blk->NextWaitBlock %p\n",
|
||||
blk, blk->NextWaitBlock);
|
||||
InsertTailList(&(hdr->WaitListHead),&(blk->WaitListEntry));
|
||||
// DPRINT("hdr->WaitListHead.Flink %x hdr->WaitListHead.Blink %x\n",
|
||||
// hdr->WaitListHead.Flink,hdr->WaitListHead.Blink);
|
||||
// DPRINT("hdr->WaitListHead.Flink %x hdr->WaitListHead.Blink %x\n",
|
||||
// hdr->WaitListHead.Flink,hdr->WaitListHead.Blink);
|
||||
|
||||
blk = blk->NextWaitBlock;
|
||||
}
|
||||
|
@ -564,7 +564,7 @@ KeWaitForMultipleObjects (
|
|||
&Status,
|
||||
Alertable,
|
||||
WaitMode);
|
||||
|
||||
} while( Status == STATUS_KERNEL_APC );
|
||||
if (Timeout != NULL)
|
||||
KeCancelTimer(&KeGetCurrentThread()->Timer);
|
||||
DPRINT("Returning from KeWaitForMultipleObjects()\n");
|
||||
|
|
Loading…
Reference in a new issue