From d7104c752ac30723a6af9d22cff5d201f9ace619 Mon Sep 17 00:00:00 2001 From: Bartosz Taudul Date: Fri, 16 Aug 2019 21:16:04 +0200 Subject: [PATCH] Cygwin compat layer. --- client/TracySysTrace.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/client/TracySysTrace.cpp b/client/TracySysTrace.cpp index 109d50eb..585d6099 100644 --- a/client/TracySysTrace.cpp +++ b/client/TracySysTrace.cpp @@ -156,6 +156,18 @@ void SysTraceWorker( void* ptr ) tracy_free( s_prop ); } +#ifdef __CYGWIN__ +extern "C" typedef DWORD (WINAPI *t_GetProcessIdOfThread)( HANDLE ); +extern "C" typedef DWORD (WINAPI *t_GetProcessImageFileNameA)( HANDLE, LPSTR, DWORD ); +# ifdef UNICODE +t_GetProcessIdOfThread GetProcessIdOfThread = (t_GetProcessIdOfThread)GetProcAddress( GetModuleHandle( L"kernel32.dll" ), "GetProcessIdOfThread" ); +t_GetProcessImageFileNameA GetProcessImageFileNameA = (t_GetProcessImageFileNameA)GetProcAddress( GetModuleHandle( L"kernel32.dll" ), "K32GetProcessImageFileNameA" ); +# else +t_GetProcessIdOfThread GetProcessIdOfThread = (t_GetProcessIdOfThread)GetProcAddress( GetModuleHandle( "kernel32.dll" ), "GetProcessIdOfThread" ); +t_GetProcessImageFileNameA GetProcessImageFileNameA = (t_GetProcessImageFileNameA)GetProcAddress( GetModuleHandle( "kernel32.dll" ), "K32GetProcessImageFileNameA" ); +# endif +#endif + void SysTraceSendExternalName( uint64_t thread ) { bool threadSent = false;