Merge 16858 from trunk:
Properly propagate the SL_PENDING_RETURNED flag to stack locations in
IofCompleteRequest and fix the priority boost for master IRPs.
Modified: branches/ros-branch-0_2_7/reactos/ntoskrnl/io/irp.c
_____
Modified: branches/ros-branch-0_2_7/reactos/ntoskrnl/io/irp.c
--- branches/ros-branch-0_2_7/reactos/ntoskrnl/io/irp.c 2005-08-03
17:17:57 UTC (rev 17019)
+++ branches/ros-branch-0_2_7/reactos/ntoskrnl/io/irp.c 2005-08-03
17:18:54 UTC (rev 17020)
@@ -1158,10 +1158,7 @@
{
if ((Irp->CurrentLocation <= Irp->StackCount) &&
(Irp->PendingReturned))
{
- if (IoGetCurrentIrpStackLocation(Irp)->Control &
SL_PENDING_RETURNED)
- {
- Irp->PendingReturned = TRUE;
- }
+ IoMarkIrpPending(Irp);
}
}
@@ -1191,7 +1188,7 @@
IoFreeIrp(Irp);
/* Complete the Master IRP */
- if (!MasterIrpCount) IofCompleteRequest(MasterIrp,
IO_NO_INCREMENT);
+ if (!MasterIrpCount) IofCompleteRequest(MasterIrp,
PriorityBoost);
return;
}
@@ -1219,12 +1216,10 @@
}
else
{
- DPRINT1("BUG BUG, YOU SHOULDNT BE HERE\n");
- #if 0
+#if 0
/* Page 166 */
- /* When we'll actually support Async Paging I/O Properly...
*/
KeInitializeApc(&Irp->Tail.Apc
- &Irp->tail.Overlay.Thread->Tcb,
+ &Irp->Tail.Overlay.Thread->Tcb,
Irp->ApcEnvironment,
IopCompletePageWrite,
NULL,
@@ -1235,7 +1230,10 @@
NULL,
NULL,
PriorityBoost);
- #endif
+#else
+ /* Not implemented yet. */
+ ASSERT(FALSE);
+#endif
}
return;
}
Show replies by date