Commit 88e33621 authored by Billy Laws's avatar Billy Laws Committed by Alexandre Julliard

ntdll: Fix NtContinue from within exception context on ARM64.

When handling an exception, NtContinue can be called from within the signal handler, in which case the raise(SIGUSR2) call ends up getting eaten and integer register context never ends up getting restored. Switch to the method used on X86 to avoid these issues.
parent ab296a30
......@@ -569,7 +569,8 @@ NTSTATUS signal_set_full_context( CONTEXT *context )
{
NTSTATUS status = NtSetContextThread( GetCurrentThread(), context );
if (!status && (context->ContextFlags & CONTEXT_INTEGER) == CONTEXT_INTEGER) raise( SIGUSR2 );
if (!status && (context->ContextFlags & CONTEXT_INTEGER) == CONTEXT_INTEGER)
arm64_thread_data()->syscall_frame->restore_flags |= CONTEXT_INTEGER;
return status;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment