reactos/ntoskrnl/io
diff -u -r1.53 -r1.54
--- cleanup.c 23 Dec 2004 12:34:59 -0000 1.53
+++ cleanup.c 26 Dec 2004 21:18:34 -0000 1.54
@@ -300,5 +300,19 @@
}
+ if (NULL != IoStack->FileObject
+ && NULL != IoStack->FileObject->CompletionContext
+ && (0 != (Irp->Flags & IRP_SYNCHRONOUS_API)
+ || 0 == (IoStack->FileObject->Flags & FO_SYNCHRONOUS_IO)))
+ {
+ PFILE_OBJECT FileObject = IoStack->FileObject;
+ IoSetIoCompletion(FileObject->CompletionContext->Port,
+ FileObject->CompletionContext->Key,
+ Irp->Overlay.AsynchronousParameters.UserApcContext,
+ Irp->IoStatus.Status,
+ Irp->IoStatus.Information,
+ FALSE);
+ }
+
IoFreeIrp(Irp);
}
reactos/ntoskrnl/io
diff -u -r1.71 -r1.72
--- irp.c 26 Dec 2004 15:55:14 -0000 1.71
+++ irp.c 26 Dec 2004 21:18:34 -0000 1.72
@@ -1,4 +1,4 @@
-/* $Id: irp.c,v 1.71 2004/12/26 15:55:14 gvg Exp $
+/* $Id: irp.c,v 1.72 2004/12/26 21:18:34 gvg Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@@ -447,19 +447,6 @@
//Windows NT File System Internals, page 154
OriginalFileObject = Irp->Tail.Overlay.OriginalFileObject;
- if (NULL != Stack->FileObject
- && NULL != Stack->FileObject->CompletionContext
- && Irp->PendingReturned)
- {
- PFILE_OBJECT FileObject = Stack->FileObject;
- IoSetIoCompletion(FileObject->CompletionContext->Port,
- FileObject->CompletionContext->Key,
- Irp->Overlay.AsynchronousParameters.UserApcContext,
- Irp->IoStatus.Status,
- Irp->IoStatus.Information,
- FALSE);
- }
-
if (Irp->PendingReturned || KeGetCurrentIrql() == DISPATCH_LEVEL)
{
BOOLEAN bStatus;