[PATCH 5/7] ntoskrnl.exe: Cancel active timer before setting it.
Paul Gofman
pgofman at codeweavers.com
Thu May 28 04:15:18 CDT 2020
Signed-off-by: Paul Gofman <pgofman at codeweavers.com>
---
dlls/ntoskrnl.exe/sync.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/dlls/ntoskrnl.exe/sync.c b/dlls/ntoskrnl.exe/sync.c
index 912dc046bac..36fa12fe000 100644
--- a/dlls/ntoskrnl.exe/sync.c
+++ b/dlls/ntoskrnl.exe/sync.c
@@ -443,7 +443,9 @@ BOOLEAN WINAPI KeSetTimerEx( KTIMER *timer, LARGE_INTEGER duetime, LONG period,
EnterCriticalSection( &sync_cs );
- ret = timer->Header.Inserted;
+ if ((ret = timer->Header.Inserted))
+ KeCancelTimer(timer);
+
timer->Header.Inserted = TRUE;
if (!timer->TimerListEntry.Blink)
--
2.26.2
More information about the wine-devel
mailing list