IofCompleteRequest(): APC dispatching implemented as direct call
authorshort <>
Fri, 28 Mar 2003 19:47:55 +0000 (19:47 +0000)
committershort <>
Fri, 28 Mar 2003 19:47:55 +0000 (19:47 +0000)
ntoskrnl/io/irp.c

index 8b54d39..54b8949 100644 (file)
@@ -288,8 +288,13 @@ IofCompleteRequest(PIRP Irp,
 
    if (Irp->PendingReturned)
      {
+#ifdef LIBCAPTIVE
+       /* FIXME: Why the hell should we bother with some damned APCs?!?
+        * Call it directly below!
+        */
+       DPRINT("IofCompleteRequest() would like to dispatch APC: F*ck off!\n");
+#else /* !LIBCAPTIVE */
        DPRINT("Dispatching APC\n");
-#ifndef LIBCAPTIVE
        KeInitializeApc(&Irp->Tail.Apc,
                        &Irp->Tail.Overlay.Thread->Tcb,
                        0,
@@ -304,11 +309,11 @@ IofCompleteRequest(PIRP Irp,
                         (PVOID)(ULONG)PriorityBoost,
                         KernelMode);
        DPRINT("Finished dispatching APC\n");
-#else /* !LIBCAPTIVE */
-       KeBugCheck(0);
 #endif /* !LIBCAPTIVE */
      }
+#ifndef LIBCAPTIVE
    else
+#endif /* LIBCAPTIVE */
      {
        DPRINT("Calling completion routine directly\n");
        IoSecondStageCompletion(Irp,PriorityBoost);