summaryrefslogtreecommitdiffstats
path: root/lldb/source/Commands/CommandObjectThread.cpp
diff options
context:
space:
mode:
authorTodd Fiala <todd.fiala@gmail.com>2014-08-12 14:33:19 +0000
committerTodd Fiala <todd.fiala@gmail.com>2014-08-12 14:33:19 +0000
commita3b89e272c6f99d878d674a3346808e06fa75e28 (patch)
treebfa32c160da45f4b8856f5687aff5f5894ee5bcd /lldb/source/Commands/CommandObjectThread.cpp
parent01d9e24f7044710e685ed57ec697df30c8038a90 (diff)
downloadbcm5719-llvm-a3b89e272c6f99d878d674a3346808e06fa75e28.tar.gz
bcm5719-llvm-a3b89e272c6f99d878d674a3346808e06fa75e28.zip
Fix iohandler prompt race condition.
This issue caused the lldb prompt to not show up in certain cases, very noticeable on Linux systems. See details on this review: http://reviews.llvm.org/D4863 And on this lldb-commits thread: http://lists.cs.uiuc.edu/pipermail/lldb-commits/Week-of-Mon-20140811/012306.html Change by Shawn Best. (Much useful help and testing by the rest of the community, thanks all!) llvm-svn: 215446
Diffstat (limited to 'lldb/source/Commands/CommandObjectThread.cpp')
-rw-r--r--lldb/source/Commands/CommandObjectThread.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/lldb/source/Commands/CommandObjectThread.cpp b/lldb/source/Commands/CommandObjectThread.cpp
index c58e9e83503..e7a8652ac89 100644
--- a/lldb/source/Commands/CommandObjectThread.cpp
+++ b/lldb/source/Commands/CommandObjectThread.cpp
@@ -624,7 +624,11 @@ protected:
process->GetThreadList().SetSelectedThreadByID (thread->GetID());
process->Resume ();
-
+
+ // There is a race condition where this thread will return up the call stack to the main command handler
+ // and show an (lldb) prompt before HandlePrivateEvent (from PrivateStateThread) has
+ // a chance to call PushProcessIOHandler().
+ process->SyncIOHandler(2000);
if (synchronous_execution)
{
OpenPOWER on IntegriCloud