Fix thread name updating in Linux. "thread list" should report correct names always now.
Created new LinuxThread class inherited from POSIXThread and removed linux / freebsd ifdefs
Removed several un-needed set thread name calls

CR (and multiple suggestions): mkopec

llvm-svn: 187545
diff --git a/lldb/source/Plugins/Process/POSIX/POSIXThread.h b/lldb/source/Plugins/Process/POSIX/POSIXThread.h
index 59b02a7..d051d23 100644
--- a/lldb/source/Plugins/Process/POSIX/POSIXThread.h
+++ b/lldb/source/Plugins/Process/POSIX/POSIXThread.h
@@ -91,7 +91,7 @@
 
     uint32_t FindVacantWatchpointIndex();
 
-private:
+protected:
     RegisterContextPOSIX *
     GetRegisterContextPOSIX ()
     {
@@ -107,6 +107,7 @@
 
     lldb::BreakpointSiteSP m_breakpoint;
 
+    bool m_thread_name_valid;
     std::string m_thread_name;
 
     ProcessMonitor &
@@ -117,7 +118,7 @@
 
     void BreakNotify(const ProcessMessage &message);
     void WatchNotify(const ProcessMessage &message);
-    void TraceNotify(const ProcessMessage &message);
+    virtual void TraceNotify(const ProcessMessage &message);
     void LimboNotify(const ProcessMessage &message);
     void SignalNotify(const ProcessMessage &message);
     void SignalDeliveredNotify(const ProcessMessage &message);