[NTOSKRNL]
authorAleksey Bragin <aleksey@reactos.org>
Sun, 15 Aug 2010 08:48:03 +0000 (08:48 +0000)
committerAleksey Bragin <aleksey@reactos.org>
Sun, 15 Aug 2010 08:48:03 +0000 (08:48 +0000)
- Revert 48546. The code was correct, and there is more of same code in other places which firstly cancels the IRP and then moves to the next entry. The actual bug is somewhere else.
See issue #5550 for more details.

svn path=/trunk/; revision=48551

reactos/ntoskrnl/io/iomgr/irp.c

index bd0eb88..a578e89 100644 (file)
@@ -1047,12 +1047,14 @@ IoCancelThreadIo(IN PETHREAD Thread)
     NextEntry = ListHead->Flink;
     while (ListHead != NextEntry)
     {
-        /* Get the IRP and move to the next entry */
+        /* Get the IRP */
         Irp = CONTAINING_RECORD(NextEntry, IRP, ThreadListEntry);
-        NextEntry = NextEntry->Flink;
 
         /* Cancel it */
         IoCancelIrp(Irp);
+
+        /* Move to the next entry */
+        NextEntry = NextEntry->Flink;
     }
 
      /* Wait 100 milliseconds */