summaryrefslogtreecommitdiffstats
path: root/lldb/source/Host/linux/Host.cpp
diff options
context:
space:
mode:
authorEd Maste <emaste@freebsd.org>2013-07-25 19:10:32 +0000
committerEd Maste <emaste@freebsd.org>2013-07-25 19:10:32 +0000
commit02983be252186caf1afb42f54786f5d88420cc13 (patch)
tree02c6ea3ff3878764b4e798f16859b98ee6f808bd /lldb/source/Host/linux/Host.cpp
parent72090eea73ef0c556277730dad5a58cb9c77dc52 (diff)
downloadbcm5719-llvm-02983be252186caf1afb42f54786f5d88420cc13.tar.gz
bcm5719-llvm-02983be252186caf1afb42f54786f5d88420cc13.zip
Set thread names on FreeBSD
Also move the logic to shorten thread names from linux/Host.cpp to a new SetShortThreadName as both FreeBSD and Linux need the functionality. llvm-svn: 187149
Diffstat (limited to 'lldb/source/Host/linux/Host.cpp')
-rw-r--r--lldb/source/Host/linux/Host.cpp27
1 files changed, 1 insertions, 26 deletions
diff --git a/lldb/source/Host/linux/Host.cpp b/lldb/source/Host/linux/Host.cpp
index a756a47ffa8..cdcff1f3d75 100644
--- a/lldb/source/Host/linux/Host.cpp
+++ b/lldb/source/Host/linux/Host.cpp
@@ -451,32 +451,7 @@ Host::ThreadCreated (const char *thread_name)
{
if (!Host::SetThreadName (LLDB_INVALID_PROCESS_ID, LLDB_INVALID_THREAD_ID, thread_name))
{
- // pthread_setname_np_func can fail if the thread name is longer than
- // the supported limit on Linux. When this occurs, the error ERANGE is returned
- // and SetThreadName will fail. Let's drop it down to 16 characters and try again.
- char namebuf[16];
-
- // Thread names are coming in like '<lldb.comm.debugger.edit>' and '<lldb.comm.debugger.editline>'
- // So just chopping the end of the string off leads to a lot of similar named threads.
- // Go through the thread name and search for the last dot and use that.
- const char *lastdot = ::strrchr( thread_name, '.' );
-
- if (lastdot && lastdot != thread_name)
- thread_name = lastdot + 1;
- ::strncpy (namebuf, thread_name, sizeof(namebuf));
- namebuf[ sizeof(namebuf) - 1 ] = 0;
-
- int namebuflen = strlen(namebuf);
- if (namebuflen > 0)
- {
- if (namebuf[namebuflen - 1] == '(' || namebuf[namebuflen - 1] == '>')
- {
- // Trim off trailing '(' and '>' characters for a bit more cleanup.
- namebuflen--;
- namebuf[namebuflen] = 0;
- }
- Host::SetThreadName (LLDB_INVALID_PROCESS_ID, LLDB_INVALID_THREAD_ID, namebuf);
- }
+ Host::SetShortThreadName (LLDB_INVALID_PROCESS_ID, LLDB_INVALID_THREAD_ID, thread_name, 16);
}
}
OpenPOWER on IntegriCloud