From cda4fa293e26e788e95dc5d4656c15fb41cf6350 Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Tue, 26 May 2020 13:05:10 +0300 Subject: [PATCH] ntoskrnl.exe: Implement KeRevertToUserAffinityThread() function. Signed-off-by: Paul Gofman Signed-off-by: Alexandre Julliard --- dlls/ntoskrnl.exe/ntoskrnl.c | 2 +- dlls/ntoskrnl.exe/tests/driver.c | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c index fc7828cf15a..c4f2180c4c3 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -2485,7 +2485,7 @@ KAFFINITY WINAPI KeSetSystemAffinityThreadEx(KAFFINITY affinity) */ void WINAPI KeRevertToUserAffinityThread(void) { - FIXME("() stub\n"); + KeRevertToUserAffinityThreadEx(0); } void WINAPI KeRevertToUserAffinityThreadEx(KAFFINITY affinity) diff --git a/dlls/ntoskrnl.exe/tests/driver.c b/dlls/ntoskrnl.exe/tests/driver.c index 458815a0f26..356c60a2e78 100644 --- a/dlls/ntoskrnl.exe/tests/driver.c +++ b/dlls/ntoskrnl.exe/tests/driver.c @@ -1766,7 +1766,17 @@ static void test_affinity(void) mask = pKeSetSystemAffinityThreadEx(0x1); ok(mask == mask_all_cpus, "Got unexpected mask %#lx.\n", mask); - pKeRevertToUserAffinityThreadEx(mask_all_cpus); + pKeRevertToUserAffinityThreadEx(0); + + mask = pKeSetSystemAffinityThreadEx(0x1); + ok(!mask, "Got unexpected mask %#lx.\n", mask); + + KeRevertToUserAffinityThread(); + + mask = pKeSetSystemAffinityThreadEx(0x1); + ok(!mask, "Got unexpected mask %#lx.\n", mask); + + KeRevertToUserAffinityThread(); } static NTSTATUS main_test(DEVICE_OBJECT *device, IRP *irp, IO_STACK_LOCATION *stack)