mirror of
git://source.winehq.org/git/wine.git
synced 2024-09-15 05:57:27 +00:00
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.
This commit is contained in:
parent
ab296a305e
commit
88e336214d
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue