Author: pschweitzer
Date: Sun Jan 27 16:38:24 2013
New Revision: 58245
URL:
http://svn.reactos.org/svn/reactos?rev=58245&view=rev
Log:
[NTOSKRNL]
Properly queue the IRP in IoCancelFileOpen()
Modified:
trunk/reactos/ntoskrnl/io/iomgr/file.c
Modified: trunk/reactos/ntoskrnl/io/iomgr/file.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/io/iomgr/file.c?r…
==============================================================================
--- trunk/reactos/ntoskrnl/io/iomgr/file.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/io/iomgr/file.c [iso-8859-1] Sun Jan 27 16:38:24 2013
@@ -2497,6 +2497,7 @@
{
PIRP Irp;
KEVENT Event;
+ KIRQL OldIrql;
NTSTATUS Status;
PIO_STACK_LOCATION Stack;
@@ -2527,7 +2528,8 @@
Stack->MajorFunction = IRP_MJ_CLEANUP;
Stack->FileObject = FileObject;
- // FIXME: Put on top of IRPs list of the thread
+ /* Put on top of IRPs list of the thread */
+ IopQueueIrpToThread(Irp);
/* Call the driver */
Status = IoCallDriver(DeviceObject, Irp);
@@ -2537,7 +2539,10 @@
KernelMode, FALSE, NULL);
}
- // FIXME: Remove from IRPs list
+ /* Remove from IRPs list */
+ KeRaiseIrql(APC_LEVEL, &OldIrql);
+ IopUnQueueIrpFromThread(Irp);
+ KeLowerIrql(OldIrql);
/* Free the IRP */
IoFreeIrp(Irp);