diff options
author | Jon Turney <jon.turney@dronecode.org.uk> | 2016-07-28 00:40:23 +0100 |
---|---|---|
committer | Jon Turney <jon.turney@dronecode.org.uk> | 2016-08-23 15:07:42 +0100 |
commit | 9e0f9ec7aedb59cacaf5831a27b925d791090113 (patch) | |
tree | 2c0578bb4a92c36a8f06e95ca5e7dfd373abd792 /winsup/cygwin/dcrt0.cc | |
parent | fdb7df230ded019be0472565d79de14fe677dea7 (diff) | |
download | newlib-9e0f9ec7aedb59cacaf5831a27b925d791090113.zip newlib-9e0f9ec7aedb59cacaf5831a27b925d791090113.tar.gz newlib-9e0f9ec7aedb59cacaf5831a27b925d791090113.tar.bz2 |
Send thread names to debugger
GDB since commit 24cdb46e [1] can report and use these names.
Add utility function SetThreadName(), which sends a thread name to the
debugger.
Use that:
- to set the default thread name for main thread and newly created pthreads.
- in pthread_setname_np() for user thread names.
- for helper thread names in cygthread::create()
- for helper threads which are created directly with CreateThread.
Note that there can still be anonymous threads, created by system or
injected DLLs.
[1] https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=24cdb46e9f0a694b4fbc11085e094857f08c0419
Diffstat (limited to 'winsup/cygwin/dcrt0.cc')
-rw-r--r-- | winsup/cygwin/dcrt0.cc | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc index 2328411..8ddee0c 100644 --- a/winsup/cygwin/dcrt0.cc +++ b/winsup/cygwin/dcrt0.cc @@ -964,6 +964,7 @@ dll_crt0_1 (void *) if (cp > __progname && ascii_strcasematch (cp, ".exe")) *cp = '\0'; } + SetThreadName (GetCurrentThreadId (), program_invocation_short_name); (void) xdr_set_vprintf (&cygxdr_vwarnx); cygwin_finished_initializing = true; |