[NTOSKRNL:IOMGR][NPFS]

- Do not pass non-boolean Alertable values to KeWaitForSingleObject
- Fix some DPRINTs

svn path=/trunk/; revision=56959
This commit is contained in:
Thomas Faber 2012-07-24 15:32:06 +00:00
parent a78714ae9e
commit 348b5eb57f
3 changed files with 18 additions and 14 deletions

View file

@ -186,7 +186,7 @@ NpfsConnectPipe(PIRP Irp,
KeWaitForSingleObject(&Ccb->ConnectEvent,
UserRequest,
WaitMode,
(Flags & FO_ALERTABLE_IO),
(Flags & FO_ALERTABLE_IO) != 0,
NULL);
}
@ -407,7 +407,7 @@ NpfsWaitPipe(PIRP Irp,
Status = KeWaitForSingleObject(&Ccb->ConnectEvent,
UserRequest,
Irp->RequestorMode,
(Ccb->FileObject->Flags & FO_ALERTABLE_IO),
(Ccb->FileObject->Flags & FO_ALERTABLE_IO) != 0,
TimeOut);
if ((Status == STATUS_USER_APC) || (Status == STATUS_KERNEL_APC) || (Status == STATUS_ALERTED))
Status = STATUS_CANCELLED;
@ -532,7 +532,7 @@ NpfsWaitPipe2(PIRP Irp,
Status = KeWaitForSingleObject(&Ccb->ConnectEvent,
UserRequest,
Irp->RequestorMode,
(Ccb->FileObject->Flags & FO_ALERTABLE_IO),
(Ccb->FileObject->Flags & FO_ALERTABLE_IO) != 0,
&TimeOut);
if ((Status == STATUS_USER_APC) || (Status == STATUS_KERNEL_APC) || (Status == STATUS_ALERTED))
Status = STATUS_CANCELLED;

View file

@ -459,9 +459,9 @@ NpfsRead(IN PDEVICE_OBJECT DeviceObject,
Status = KeWaitForSingleObject(&Ccb->ReadEvent,
UserRequest,
Irp->RequestorMode,
(FileObject->Flags & FO_ALERTABLE_IO),
(FileObject->Flags & FO_ALERTABLE_IO) != 0,
NULL);
DPRINT("Finished waiting (%wZ)! Status: %x\n", &Ccb->Fcb->PipeName, Status);
DPRINT("Finished waiting (%wZ)! Status: %lx\n", &Ccb->Fcb->PipeName, Status);
ExAcquireFastMutex(&Ccb->DataListLock);
@ -815,7 +815,7 @@ NpfsWrite(PDEVICE_OBJECT DeviceObject,
while(1)
{
if ((ReaderCcb->WriteQuotaAvailable == 0))
if (ReaderCcb->WriteQuotaAvailable == 0)
{
if (Ccb->PipeState != FILE_PIPE_CONNECTED_STATE || !Ccb->OtherSide)
{
@ -826,13 +826,13 @@ NpfsWrite(PDEVICE_OBJECT DeviceObject,
KeSetEvent(&ReaderCcb->ReadEvent, IO_NO_INCREMENT, FALSE);
ExReleaseFastMutex(&ReaderCcb->DataListLock);
DPRINT("Write Waiting for buffer space (%S)\n", Fcb->PipeName.Buffer);
DPRINT("Write Waiting for buffer space (%wZ)\n", &Fcb->PipeName);
Status = KeWaitForSingleObject(&Ccb->WriteEvent,
UserRequest,
Irp->RequestorMode,
(FileObject->Flags & FO_ALERTABLE_IO),
(FileObject->Flags & FO_ALERTABLE_IO) != 0,
NULL);
DPRINT("Write Finished waiting (%S)! Status: %x\n", Fcb->PipeName.Buffer, Status);
DPRINT("Write Finished waiting (%wZ)! Status: %lx\n", &Fcb->PipeName, Status);
if ((Status == STATUS_USER_APC) || (Status == STATUS_KERNEL_APC) || (Status == STATUS_ALERTED))
{

View file

@ -163,7 +163,7 @@ IopPerformSynchronousRequest(IN PDEVICE_OBJECT DeviceObject,
Executive,
PreviousMode,
(FileObject->Flags &
FO_ALERTABLE_IO),
FO_ALERTABLE_IO) != 0,
NULL);
if ((Status == STATUS_ALERTED) || (Status == STATUS_USER_APC))
{
@ -603,7 +603,8 @@ IopQueryDeviceInformation(IN PFILE_OBJECT FileObject,
Status = KeWaitForSingleObject(&FileObject->Event,
Executive,
KernelMode,
FileObject->Flags & FO_ALERTABLE_IO,
(FileObject->Flags &
FO_ALERTABLE_IO) != 0,
NULL);
if (Status == STATUS_ALERTED)
{
@ -856,7 +857,8 @@ IoSetInformation(IN PFILE_OBJECT FileObject,
Status = KeWaitForSingleObject(&FileObject->Event,
Executive,
KernelMode,
FileObject->Flags & FO_ALERTABLE_IO,
(FileObject->Flags &
FO_ALERTABLE_IO) != 0,
NULL);
if (Status == STATUS_ALERTED)
{
@ -1869,7 +1871,8 @@ NtQueryInformationFile(IN HANDLE FileHandle,
Status = KeWaitForSingleObject(&FileObject->Event,
Executive,
PreviousMode,
FileObject->Flags & FO_ALERTABLE_IO,
(FileObject->Flags &
FO_ALERTABLE_IO) != 0,
NULL);
if ((Status == STATUS_USER_APC) || (Status == STATUS_ALERTED))
{
@ -2529,7 +2532,8 @@ NtSetInformationFile(IN HANDLE FileHandle,
Status = KeWaitForSingleObject(&FileObject->Event,
Executive,
PreviousMode,
FileObject->Flags & FO_ALERTABLE_IO,
(FileObject->Flags &
FO_ALERTABLE_IO) != 0,
NULL);
if ((Status == STATUS_USER_APC) || (Status == STATUS_ALERTED))
{