From: Jacek Caban <jacek@codeweavers.com> InSyscallCallback should block thread suspension, which is undesirable for blocking calls. --- dlls/ntdll/signal_arm64ec.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/dlls/ntdll/signal_arm64ec.c b/dlls/ntdll/signal_arm64ec.c index b6a9aa5f045..5e626672019 100644 --- a/dlls/ntdll/signal_arm64ec.c +++ b/dlls/ntdll/signal_arm64ec.c @@ -804,12 +804,15 @@ NTSTATUS SYSCALL_API NtReadFile( HANDLE handle, HANDLE event, PIO_APC_ROUTINE ap if (pBTCpu64NotifyReadFile && enter_syscall_callback()) { pBTCpu64NotifyReadFile( handle, buffer, length, FALSE, 0 ); - status = syscall_NtReadFile( handle, event, apc, apc_user, io, buffer, length, offset, key ); - if (pBTCpu64NotifyReadFile) pBTCpu64NotifyReadFile( handle, buffer, length, TRUE, status ); leave_syscall_callback(); - return status; } - return syscall_NtReadFile( handle, event, apc, apc_user, io, buffer, length, offset, key ); + status = syscall_NtReadFile( handle, event, apc, apc_user, io, buffer, length, offset, key ); + if (pBTCpu64NotifyReadFile && enter_syscall_callback()) + { + pBTCpu64NotifyReadFile( handle, buffer, length, TRUE, status ); + leave_syscall_callback(); + } + return status; } NTSTATUS SYSCALL_API NtSetContextThread( HANDLE handle, const CONTEXT *context ) -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10944