Module: wine Branch: master Commit: 3ff81e3a410c59a01227f30877b36b73a0350846 URL: https://gitlab.winehq.org/wine/wine/-/commit/3ff81e3a410c59a01227f30877b36b7...
Author: Billy Laws blaws05@gmail.com Date: Fri Jul 28 13:04:22 2023 -0700
wow64: Add BT module thread termination callback.
---
dlls/wow64/process.c | 2 ++ dlls/wow64/syscall.c | 2 ++ dlls/wow64/wow64_private.h | 1 + 3 files changed, 5 insertions(+)
diff --git a/dlls/wow64/process.c b/dlls/wow64/process.c index 8b41bbc84ba..2b6674ccf1b 100644 --- a/dlls/wow64/process.c +++ b/dlls/wow64/process.c @@ -1039,5 +1039,7 @@ NTSTATUS WINAPI wow64_NtTerminateThread( UINT *args ) HANDLE handle = get_handle( &args ); LONG exit_code = get_ulong( &args );
+ if (pBTCpuThreadTerm) pBTCpuThreadTerm( handle ); + return NtTerminateThread( handle, exit_code ); } diff --git a/dlls/wow64/syscall.c b/dlls/wow64/syscall.c index e741654a056..6b1da0913a9 100644 --- a/dlls/wow64/syscall.c +++ b/dlls/wow64/syscall.c @@ -119,6 +119,7 @@ void (WINAPI *pBTCpuNotifyMemoryFree)( void *, SIZE_T ) = NULL; void (WINAPI *pBTCpuNotifyMemoryProtect)( void *, SIZE_T, ULONG ) = NULL; void (WINAPI *pBTCpuNotifyUnmapViewOfSection)( void * ) = NULL; void (WINAPI *pBTCpuUpdateProcessorInformation)( SYSTEM_CPU_INFORMATION * ) = NULL; +void (WINAPI *pBTCpuThreadTerm)( HANDLE ) = NULL;
void *dummy = RtlUnwind;
@@ -913,6 +914,7 @@ static DWORD WINAPI process_init( RTL_RUN_ONCE *once, void *param, void **contex GET_PTR( BTCpuNotifyMemoryProtect ); GET_PTR( BTCpuNotifyUnmapViewOfSection ); GET_PTR( BTCpuUpdateProcessorInformation ); + GET_PTR( BTCpuThreadTerm ); GET_PTR( __wine_get_unix_opcode );
module = load_64bit_module( L"wow64win.dll" ); diff --git a/dlls/wow64/wow64_private.h b/dlls/wow64/wow64_private.h index 73a100cba32..5b09d16c9d9 100644 --- a/dlls/wow64/wow64_private.h +++ b/dlls/wow64/wow64_private.h @@ -47,6 +47,7 @@ extern void (WINAPI *pBTCpuNotifyMemoryFree)( void *, SIZE_T ); extern void (WINAPI *pBTCpuNotifyMemoryProtect)( void *, SIZE_T, ULONG ); extern void (WINAPI *pBTCpuNotifyUnmapViewOfSection)( void * ); extern void (WINAPI *pBTCpuUpdateProcessorInformation)( SYSTEM_CPU_INFORMATION * ); +extern void (WINAPI *pBTCpuThreadTerm)( HANDLE );
struct object_attr64 {