Loading adb/sysdeps.h +1 −6 Original line number Diff line number Diff line Loading @@ -72,12 +72,7 @@ static __inline__ bool adb_is_separator(char c) { return c == '\\' || c == '/'; } static __inline__ int adb_thread_setname(const std::string& name) { // TODO: See https://msdn.microsoft.com/en-us/library/xcb2z8hs.aspx for how to set // the thread name in Windows. Unfortunately, it only works during debugging, but // our build process doesn't generate PDB files needed for debugging. return 0; } extern int adb_thread_setname(const std::string& name); static __inline__ void close_on_exec(int fd) { Loading adb/sysdeps_win32.cpp +23 −0 Original line number Diff line number Diff line Loading @@ -2742,3 +2742,26 @@ char* adb_getcwd(char* buf, int size) { return buf; } // The SetThreadDescription API was brought in version 1607 of Windows 10. typedef HRESULT(WINAPI* SetThreadDescription)(HANDLE hThread, PCWSTR lpThreadDescription); // Based on PlatformThread::SetName() from // https://cs.chromium.org/chromium/src/base/threading/platform_thread_win.cc int adb_thread_setname(const std::string& name) { // The SetThreadDescription API works even if no debugger is attached. auto set_thread_description_func = reinterpret_cast<SetThreadDescription>( ::GetProcAddress(::GetModuleHandleW(L"Kernel32.dll"), "SetThreadDescription")); if (set_thread_description_func) { std::wstring name_wide; if (!android::base::UTF8ToWide(name.c_str(), &name_wide)) { return errno; } set_thread_description_func(::GetCurrentThread(), name_wide.c_str()); } // Don't use the thread naming SEH exception because we're compiled with -fno-exceptions. // https://docs.microsoft.com/en-us/visualstudio/debugger/how-to-set-a-thread-name-in-native-code?view=vs-2017 return 0; } Loading
adb/sysdeps.h +1 −6 Original line number Diff line number Diff line Loading @@ -72,12 +72,7 @@ static __inline__ bool adb_is_separator(char c) { return c == '\\' || c == '/'; } static __inline__ int adb_thread_setname(const std::string& name) { // TODO: See https://msdn.microsoft.com/en-us/library/xcb2z8hs.aspx for how to set // the thread name in Windows. Unfortunately, it only works during debugging, but // our build process doesn't generate PDB files needed for debugging. return 0; } extern int adb_thread_setname(const std::string& name); static __inline__ void close_on_exec(int fd) { Loading
adb/sysdeps_win32.cpp +23 −0 Original line number Diff line number Diff line Loading @@ -2742,3 +2742,26 @@ char* adb_getcwd(char* buf, int size) { return buf; } // The SetThreadDescription API was brought in version 1607 of Windows 10. typedef HRESULT(WINAPI* SetThreadDescription)(HANDLE hThread, PCWSTR lpThreadDescription); // Based on PlatformThread::SetName() from // https://cs.chromium.org/chromium/src/base/threading/platform_thread_win.cc int adb_thread_setname(const std::string& name) { // The SetThreadDescription API works even if no debugger is attached. auto set_thread_description_func = reinterpret_cast<SetThreadDescription>( ::GetProcAddress(::GetModuleHandleW(L"Kernel32.dll"), "SetThreadDescription")); if (set_thread_description_func) { std::wstring name_wide; if (!android::base::UTF8ToWide(name.c_str(), &name_wide)) { return errno; } set_thread_description_func(::GetCurrentThread(), name_wide.c_str()); } // Don't use the thread naming SEH exception because we're compiled with -fno-exceptions. // https://docs.microsoft.com/en-us/visualstudio/debugger/how-to-set-a-thread-name-in-native-code?view=vs-2017 return 0; }