Paul Gofman : ntoskrnl.exe/tests: Avoid race condition in test driver.
Alexandre Julliard
julliard at winehq.org
Wed Jun 3 16:40:57 CDT 2020
Module: wine
Branch: master
Commit: d0d1601e6c08116d9813f9899aafdde2df40209a
URL: https://source.winehq.org/git/wine.git/?a=commit;h=d0d1601e6c08116d9813f9899aafdde2df40209a
Author: Paul Gofman <pgofman at codeweavers.com>
Date: Wed Jun 3 14:29:44 2020 +0300
ntoskrnl.exe/tests: Avoid race condition in test driver.
Might fix random driver crash on testbot Win8 machine.
Signed-off-by: Paul Gofman <pgofman at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/ntoskrnl.exe/tests/driver.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/dlls/ntoskrnl.exe/tests/driver.c b/dlls/ntoskrnl.exe/tests/driver.c
index f51064986b..beac9c2c25 100644
--- a/dlls/ntoskrnl.exe/tests/driver.c
+++ b/dlls/ntoskrnl.exe/tests/driver.c
@@ -2194,7 +2194,9 @@ static NTSTATUS main_test(DEVICE_OBJECT *device, IRP *irp, IO_STACK_LOCATION *st
main_test_work_item = IoAllocateWorkItem(lower_device);
ok(main_test_work_item != NULL, "main_test_work_item = NULL\n");
+ IoMarkIrpPending(irp);
IoQueueWorkItem(main_test_work_item, main_test_task, DelayedWorkQueue, irp);
+
return STATUS_PENDING;
}
@@ -2380,7 +2382,6 @@ static NTSTATUS WINAPI driver_IoControl(DEVICE_OBJECT *device, IRP *irp)
irp->IoStatus.Status = status;
IoCompleteRequest(irp, IO_NO_INCREMENT);
}
- else IoMarkIrpPending(irp);
return status;
}
More information about the wine-cvs
mailing list