- Temporarily disable queueing IRPs to their threads, since raising to APC_LEVEL seems to cause some weird user-mode exceptions.

svn path=/trunk/; revision=22774
This commit is contained in:
Alex Ionescu 2006-07-02 18:47:54 +00:00
parent 1dc3c727a1
commit 125c2ebaac
2 changed files with 5 additions and 7 deletions

View file

@ -156,7 +156,7 @@ IopPerformSynchronousRequest(IN PDEVICE_OBJECT DeviceObject,
PAGED_CODE();
/* Queue the IRP */
IopQueueIrpToThread(Irp);
//IopQueueIrpToThread(Irp);
/* Update operation counts */
IopUpdateOperationCount(TransferType);
@ -478,7 +478,7 @@ IopQueryDeviceInformation(IN PFILE_OBJECT FileObject,
}
/* Queue the IRP */
IopQueueIrpToThread(Irp);
//IopQueueIrpToThread(Irp);
/* Call the Driver */
Status = IoCallDriver(FileObject->DeviceObject, Irp);
@ -735,7 +735,7 @@ IoSetInformation(IN PFILE_OBJECT FileObject,
StackPtr->Parameters.SetFile.Length = Length;
/* Queue the IRP */
IopQueueIrpToThread(Irp);
//IopQueueIrpToThread(Irp);
/* Call the Driver */
Status = IoCallDriver(FileObject->DeviceObject, Irp);

View file

@ -895,8 +895,8 @@ IoCancelThreadIo(IN PETHREAD Thread)
KIRQL OldIrql;
ULONG Retries = 3000;
LARGE_INTEGER Interval;
//PLIST_ENTRY ListHead, NextEntry;
//PIRP Irp;
PLIST_ENTRY ListHead, NextEntry;
PIRP Irp;
IOTRACE(IO_IRP_DEBUG,
"%s - Canceling IRPs for Thread %p\n",
__FUNCTION__,
@ -906,7 +906,6 @@ IoCancelThreadIo(IN PETHREAD Thread)
OldIrql = KfRaiseIrql(APC_LEVEL);
/* Start by cancelling all the IRPs in the current thread queue. */
#if 0
ListHead = &Thread->IrpList;
NextEntry = ListHead->Flink;
while (ListHead != NextEntry)
@ -920,7 +919,6 @@ IoCancelThreadIo(IN PETHREAD Thread)
/* Move to the next entry */
NextEntry = NextEntry->Flink;
}
#endif
/* Wait 100 milliseconds */
Interval.QuadPart = -1000000;