diff --git a/dlls/ntdll/unix/server.c b/dlls/ntdll/unix/server.c index c0cf13b3cb4..cec2ef250a3 100644 --- a/dlls/ntdll/unix/server.c +++ b/dlls/ntdll/unix/server.c @@ -379,24 +379,9 @@ static void invoke_system_apc( const apc_call_t *call, apc_result_t *result, BOO { IO_STATUS_BLOCK *iosb = wine_server_get_ptr( call->async_io.sb ); struct async_fileio *user = wine_server_get_ptr( call->async_io.user ); - void *saved_frame = get_syscall_frame(); - void *frame; result->type = call->type; result->async_io.status = user->callback( user, iosb, call->async_io.status ); - - if ((frame = get_syscall_frame()) != saved_frame) - { - /* The frame can be altered by syscalls from ws2_32 async callbacks - * which are currently in the user part. */ - static unsigned int once; - - if (!once++) - FIXME( "syscall frame changed in APC function, frame %p, saved_frame %p.\n", frame, saved_frame ); - - set_syscall_frame( saved_frame ); - } - if (result->async_io.status != STATUS_PENDING) result->async_io.total = iosb->Information; break; diff --git a/dlls/ntdll/unix/signal_arm.c b/dlls/ntdll/unix/signal_arm.c index 11b6aa8d0ad..8ecdaa3995b 100644 --- a/dlls/ntdll/unix/signal_arm.c +++ b/dlls/ntdll/unix/signal_arm.c @@ -201,15 +201,6 @@ static inline struct arm_thread_data *arm_thread_data(void) return (struct arm_thread_data *)ntdll_get_thread_data()->cpu_data; } -void *get_syscall_frame(void) -{ - return arm_thread_data()->syscall_frame; -} - -void set_syscall_frame(void *frame) -{ - arm_thread_data()->syscall_frame = frame; -} /*********************************************************************** * unwind_builtin_dll diff --git a/dlls/ntdll/unix/signal_arm64.c b/dlls/ntdll/unix/signal_arm64.c index 2359b1838d6..e696ba41a66 100644 --- a/dlls/ntdll/unix/signal_arm64.c +++ b/dlls/ntdll/unix/signal_arm64.c @@ -157,16 +157,6 @@ static inline struct arm64_thread_data *arm64_thread_data(void) return (struct arm64_thread_data *)ntdll_get_thread_data()->cpu_data; } -void *get_syscall_frame(void) -{ - return arm64_thread_data()->syscall_frame; -} - -void set_syscall_frame(void *frame) -{ - arm64_thread_data()->syscall_frame = frame; -} - extern void raise_func_trampoline( EXCEPTION_RECORD *rec, CONTEXT *context, void *dispatcher ); /*********************************************************************** diff --git a/dlls/ntdll/unix/signal_i386.c b/dlls/ntdll/unix/signal_i386.c index 87024e1bfce..707e965d8b3 100644 --- a/dlls/ntdll/unix/signal_i386.c +++ b/dlls/ntdll/unix/signal_i386.c @@ -527,16 +527,6 @@ static inline struct x86_thread_data *x86_thread_data(void) return (struct x86_thread_data *)ntdll_get_thread_data()->cpu_data; } -void *get_syscall_frame(void) -{ - return x86_thread_data()->syscall_frame; -} - -void set_syscall_frame(void *frame) -{ - x86_thread_data()->syscall_frame = frame; -} - static struct syscall_xsave *get_syscall_xsave( struct syscall_frame *frame ) { return (struct syscall_xsave *)((ULONG_PTR)((struct syscall_xsave *)frame - 1) & ~63); @@ -973,7 +963,7 @@ __ASM_GLOBAL_FUNC( set_full_cpu_context, */ void signal_restore_full_cpu_context(void) { - struct syscall_xsave *xsave = get_syscall_xsave( get_syscall_frame() ); + struct syscall_xsave *xsave = get_syscall_xsave( x86_thread_data()->syscall_frame ); if (cpu_info.ProcessorFeatureBits & CPU_FEATURE_XSAVE) { diff --git a/dlls/ntdll/unix/signal_x86_64.c b/dlls/ntdll/unix/signal_x86_64.c index dcb0e588c66..1ab991d3cb5 100644 --- a/dlls/ntdll/unix/signal_x86_64.c +++ b/dlls/ntdll/unix/signal_x86_64.c @@ -327,15 +327,6 @@ static inline struct amd64_thread_data *amd64_thread_data(void) return (struct amd64_thread_data *)ntdll_get_thread_data()->cpu_data; } -void *get_syscall_frame(void) -{ - return amd64_thread_data()->syscall_frame; -} - -void set_syscall_frame(void *frame) -{ - amd64_thread_data()->syscall_frame = frame; -} static struct syscall_xsave *get_syscall_xsave( struct syscall_frame *frame ) { @@ -1598,7 +1589,7 @@ __ASM_GLOBAL_FUNC( set_full_cpu_context, */ void signal_restore_full_cpu_context(void) { - struct syscall_xsave *xsave = get_syscall_xsave( get_syscall_frame() ); + struct syscall_xsave *xsave = get_syscall_xsave( amd64_thread_data()->syscall_frame ); if (cpu_info.ProcessorFeatureBits & CPU_FEATURE_XSAVE) { diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h index f28d5cf4e99..5b9af322a68 100644 --- a/dlls/ntdll/unix/unix_private.h +++ b/dlls/ntdll/unix/unix_private.h @@ -290,9 +290,6 @@ extern void WINAPI DECLSPEC_NORETURN call_user_exception_dispatcher( EXCEPTION_R NTSTATUS (WINAPI *dispatcher)(EXCEPTION_RECORD*,CONTEXT*) ) DECLSPEC_HIDDEN; extern void WINAPI call_raise_user_exception_dispatcher( NTSTATUS (WINAPI *dispatcher)(void) ) DECLSPEC_HIDDEN; -extern void *get_syscall_frame(void) DECLSPEC_HIDDEN; -extern void set_syscall_frame(void *frame) DECLSPEC_HIDDEN; - #define IMAGE_DLLCHARACTERISTICS_PREFER_NATIVE 0x0010 /* Wine extension */ #define TICKSPERSEC 10000000