From 4b51123cd1ef38b94f760a355c48e2c3ebc1c127 Mon Sep 17 00:00:00 2001 From: Igor Pissolati Date: Wed, 21 May 2025 12:13:24 -0300 Subject: [PATCH] Properly reset completion event --- src/windows-emulator/devices/afd_endpoint.cpp | 8 -------- src/windows-emulator/syscalls.cpp | 5 +++++ 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/src/windows-emulator/devices/afd_endpoint.cpp b/src/windows-emulator/devices/afd_endpoint.cpp index 2eed0d1b..cb8086cb 100644 --- a/src/windows-emulator/devices/afd_endpoint.cpp +++ b/src/windows-emulator/devices/afd_endpoint.cpp @@ -523,14 +523,6 @@ namespace return STATUS_NOT_SUPPORTED; } - if (this->delayed_ioctl_) - { - if (auto* e = win_emu.process.events.get(c.event)) - { - e->signaled = false; - } - } - const auto request = _AFD_REQUEST(c.io_control_code); win_emu.log.print(color::dark_gray, "--> AFD IOCTL: 0x%X (%d)\n", c.io_control_code, request); diff --git a/src/windows-emulator/syscalls.cpp b/src/windows-emulator/syscalls.cpp index 14e4d8b9..9e0e8f15 100644 --- a/src/windows-emulator/syscalls.cpp +++ b/src/windows-emulator/syscalls.cpp @@ -441,6 +441,11 @@ namespace syscalls return STATUS_INVALID_HANDLE; } + if (auto* e = c.win_emu.process.events.get(event)) + { + e->signaled = false; + } + io_device_context context{c.emu}; context.event = event; context.apc_routine = apc_routine;