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?re... ============================================================================== --- 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);