diff --git a/dlls/kernel32/tests/sync.c b/dlls/kernel32/tests/sync.c index 7d6ac030299..f1c5f01fa84 100644 --- a/dlls/kernel32/tests/sync.c +++ b/dlls/kernel32/tests/sync.c @@ -2737,13 +2737,11 @@ static void test_QueueUserAPC(void) ok(ret == WAIT_OBJECT_0, "got %u\n", ret); ret = pNtQueueApcThread(thread, call_user_apc, (ULONG_PTR)user_apc, 0, 0); -todo_wine ok(ret == STATUS_UNSUCCESSFUL, "got %#x\n", ret); SetLastError(0xdeadbeef); ret = QueueUserAPC(user_apc, thread, 0); ok(!ret, "QueueUserAPC should fail\n"); -todo_wine ok(GetLastError() == ERROR_GEN_FAILURE, "got %u\n", GetLastError()); CloseHandle(thread); diff --git a/server/thread.c b/server/thread.c index d544970f3c1..dc02a1a9de3 100644 --- a/server/thread.c +++ b/server/thread.c @@ -1763,7 +1763,7 @@ DECL_HANDLER(queue_apc) if (thread) { - if (!queue_apc( NULL, thread, apc )) set_error( STATUS_THREAD_IS_TERMINATING ); + if (!queue_apc( NULL, thread, apc )) set_error( STATUS_UNSUCCESSFUL ); release_object( thread ); } else if (process)