aboutsummaryrefslogtreecommitdiff
path: root/winsup/cygwin/dcrt0.cc
diff options
context:
space:
mode:
authorJon Turney <jon.turney@dronecode.org.uk>2016-07-28 00:40:23 +0100
committerJon Turney <jon.turney@dronecode.org.uk>2016-08-23 15:07:42 +0100
commit9e0f9ec7aedb59cacaf5831a27b925d791090113 (patch)
tree2c0578bb4a92c36a8f06e95ca5e7dfd373abd792 /winsup/cygwin/dcrt0.cc
parentfdb7df230ded019be0472565d79de14fe677dea7 (diff)
downloadnewlib-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.cc1
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;