Author: sginsberg Date: Mon Sep 8 06:52:33 2008 New Revision: 36047
URL: http://svn.reactos.org/svn/reactos?rev=36047&view=rev Log: - NtQueryInformationFile and NtSetInformationFile: Don't clear the IRP_SYNCHRONOUS_API flag if it has been set previously! This should obsolete the hack in irp.c!IopCompleteRequest. - If you still see "Not an executive event -- should not be dereferenced" after this patch then please report to me.
Modified: trunk/reactos/ntoskrnl/io/iomgr/iofunc.c
Modified: trunk/reactos/ntoskrnl/io/iomgr/iofunc.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/io/iomgr/iofunc.c?... ============================================================================== --- trunk/reactos/ntoskrnl/io/iomgr/iofunc.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/io/iomgr/iofunc.c [iso-8859-1] Mon Sep 8 06:52:33 2008 @@ -1809,10 +1809,10 @@ if (!NT_SUCCESS(Status)) return Status;
/* Set the flags */ - Irp->Flags = (IRP_BUFFERED_IO | - IRP_DEALLOCATE_BUFFER | - IRP_INPUT_OPERATION | - IRP_DEFER_IO_COMPLETION); + Irp->Flags |= (IRP_BUFFERED_IO | + IRP_DEALLOCATE_BUFFER | + IRP_INPUT_OPERATION | + IRP_DEFER_IO_COMPLETION);
/* Set the Parameters */ StackPtr->Parameters.QueryFile.FileInformationClass = FileInformationClass; @@ -2405,9 +2405,9 @@ if (!NT_SUCCESS(Status)) return Status;
/* Set the flags */ - Irp->Flags = (IRP_BUFFERED_IO | - IRP_DEALLOCATE_BUFFER | - IRP_DEFER_IO_COMPLETION); + Irp->Flags |= (IRP_BUFFERED_IO | + IRP_DEALLOCATE_BUFFER | + IRP_DEFER_IO_COMPLETION);
/* Set the Parameters */ StackPtr->Parameters.SetFile.FileInformationClass = FileInformationClass;