[Lldb-commits] [lldb] r181526 - Revert r181482 as it causes occasional hangs in LLDB buildbots

Daniel Malea daniel.malea at intel.com
Thu May 9 10:34:40 PDT 2013


Author: dmalea
Date: Thu May  9 12:34:40 2013
New Revision: 181526

URL: http://llvm.org/viewvc/llvm-project?rev=181526&view=rev
Log:
Revert r181482 as it causes occasional hangs in LLDB buildbots

Modified:
    lldb/trunk/include/lldb/Target/Thread.h
    lldb/trunk/include/lldb/Target/ThreadList.h
    lldb/trunk/source/Target/Process.cpp
    lldb/trunk/source/Target/Thread.cpp
    lldb/trunk/source/Target/ThreadList.cpp
    lldb/trunk/test/functionalities/thread/state/TestThreadStates.py

Modified: lldb/trunk/include/lldb/Target/Thread.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Target/Thread.h?rev=181526&r1=181525&r2=181526&view=diff
==============================================================================
--- lldb/trunk/include/lldb/Target/Thread.h (original)
+++ lldb/trunk/include/lldb/Target/Thread.h Thu May  9 12:34:40 2013
@@ -277,10 +277,6 @@ public:
     virtual void
     DidResume ();
 
-    // This notifies the thread when a private stop occurs.
-    virtual void
-    DidStop ();
-
     virtual void
     RefreshStateAfterStop() = 0;
 

Modified: lldb/trunk/include/lldb/Target/ThreadList.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Target/ThreadList.h?rev=181526&r1=181525&r2=181526&view=diff
==============================================================================
--- lldb/trunk/include/lldb/Target/ThreadList.h (original)
+++ lldb/trunk/include/lldb/Target/ThreadList.h Thu May  9 12:34:40 2013
@@ -120,9 +120,6 @@ public:
     DidResume ();
 
     void
-    DidStop ();
-
-    void
     DiscardThreadPlans();
 
     uint32_t

Modified: lldb/trunk/source/Target/Process.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Target/Process.cpp?rev=181526&r1=181525&r2=181526&view=diff
==============================================================================
--- lldb/trunk/source/Target/Process.cpp (original)
+++ lldb/trunk/source/Target/Process.cpp Thu May  9 12:34:40 2013
@@ -1722,19 +1722,6 @@ Process::SetPrivateState (StateType new_
         m_private_state.SetValueNoLock (new_state);
         if (StateIsStoppedState(new_state, false))
         {
-            // Note, this currently assumes that all threads in the list
-            // stop when the process stops.  In the future we will want to
-            // support a debugging model where some threads continue to run
-            // while others are stopped.  When that happens we will either need
-            // a way for the thread list to identify which threads are stopping
-            // or create a special thread list containing only threads which
-            // actually stopped.
-            //
-            // The process plugin is responsible for managing the actual
-            // behavior of the threads and should have stopped any threads
-            // that are going to stop before we get here.
-            m_thread_list.DidStop();
-
             m_mod_id.BumpStopID();
             m_memory_cache.Clear();
             if (log)

Modified: lldb/trunk/source/Target/Thread.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Target/Thread.cpp?rev=181526&r1=181525&r2=181526&view=diff
==============================================================================
--- lldb/trunk/source/Target/Thread.cpp (original)
+++ lldb/trunk/source/Target/Thread.cpp Thu May  9 12:34:40 2013
@@ -658,12 +658,6 @@ Thread::DidResume ()
     SetResumeSignal (LLDB_INVALID_SIGNAL_NUMBER);
 }
 
-void
-Thread::DidStop ()
-{
-    SetState (eStateStopped);
-}
-
 bool
 Thread::ShouldStop (Event* event_ptr)
 {

Modified: lldb/trunk/source/Target/ThreadList.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Target/ThreadList.cpp?rev=181526&r1=181525&r2=181526&view=diff
==============================================================================
--- lldb/trunk/source/Target/ThreadList.cpp (original)
+++ lldb/trunk/source/Target/ThreadList.cpp Thu May  9 12:34:40 2013
@@ -11,7 +11,6 @@
 #include <algorithm>
 
 #include "lldb/Core/Log.h"
-#include "lldb/Core/State.h"
 #include "lldb/Target/RegisterContext.h"
 #include "lldb/Target/ThreadList.h"
 #include "lldb/Target/Thread.h"
@@ -644,27 +643,6 @@ ThreadList::DidResume ()
     }
 }
 
-void
-ThreadList::DidStop ()
-{
-    Mutex::Locker locker(GetMutex());
-    collection::iterator pos, end = m_threads.end();
-    for (pos = m_threads.begin(); pos != end; ++pos)
-    {
-        // Notify threads that the process just stopped.
-        // Note, this currently assumes that all threads in the list
-        // stop when the process stops.  In the future we will want to support
-        // a debugging model where some threads continue to run while others
-        // are stopped.  We either need to handle that somehow here or
-        // create a special thread list containing only threads which will
-        // stop in the code that calls this method (currently
-        // Process::SetPrivateState).
-        ThreadSP thread_sp(*pos);
-        if (StateIsRunningState(thread_sp->GetState()))
-            thread_sp->DidStop ();
-    }
-}
-
 ThreadSP
 ThreadList::GetSelectedThread ()
 {

Modified: lldb/trunk/test/functionalities/thread/state/TestThreadStates.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/functionalities/thread/state/TestThreadStates.py?rev=181526&r1=181525&r2=181526&view=diff
==============================================================================
--- lldb/trunk/test/functionalities/thread/state/TestThreadStates.py (original)
+++ lldb/trunk/test/functionalities/thread/state/TestThreadStates.py Thu May  9 12:34:40 2013
@@ -14,12 +14,14 @@ class StopThreadsTestCase(TestBase):
 
     @unittest2.skipUnless(sys.platform.startswith("darwin"), "requires Darwin")
     @dsym_test
+    @unittest2.expectedFailure("PR-15824") # thread states not properly maintained
     def test_state_after_breakpoint_with_dsym(self):
         """Test thread state after breakpoint."""
         self.buildDsym()
         self.thread_state_after_breakpoint_test()
 
     @dwarf_test
+    @unittest2.expectedFailure("PR-15824") # thread states not properly maintained
     def test_state_after_breakpoint_with_dwarf(self):
         """Test thread state after breakpoint."""
         self.buildDwarf()





More information about the lldb-commits mailing list