[Lldb-commits] [lldb] r157447 - /lldb/tags/lldb-151/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp

Greg Clayton gclayton at apple.com
Thu May 24 17:11:51 PDT 2012


Author: gclayton
Date: Thu May 24 19:11:51 2012
New Revision: 157447

URL: http://llvm.org/viewvc/llvm-project?rev=157447&view=rev
Log:
<rdar://problem/11530298>

Porting mainline 157439 revision to the lldb-151 tag (which was based off of lldb-150 and lldb-150.1).


Modified:
    lldb/tags/lldb-151/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp

Modified: lldb/tags/lldb-151/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/tags/lldb-151/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp?rev=157447&r1=157446&r2=157447&view=diff
==============================================================================
--- lldb/tags/lldb-151/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp (original)
+++ lldb/tags/lldb-151/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp Thu May 24 19:11:51 2012
@@ -554,7 +554,16 @@
                             // for the async packet did cause the stop
                             if (continue_after_async)
                             {
-                                //continue_packet.assign (1, 'c');
+                                // Reverting this for now as it is causing deadlocks
+                                // in programs (<rdar://problem/11529853>). In the future
+                                // we should check our thread list and "do the right thing"
+                                // for new threads that show up while we stop and run async
+                                // packets. Setting the packet to 'c' to continue all threads
+                                // is the right thing to do 99.99% of the time because if a
+                                // thread was single stepping, and we sent an interrupt, we
+                                // will notice above that we didn't stop due to an interrupt
+                                // but stopped due to stepping and we would _not_ continue.
+                                continue_packet.assign (1, 'c');
                                 continue;
                             }
                         }





More information about the lldb-commits mailing list