diff options
author | Todd Fiala <todd.fiala@gmail.com> | 2014-08-12 14:33:19 +0000 |
---|---|---|
committer | Todd Fiala <todd.fiala@gmail.com> | 2014-08-12 14:33:19 +0000 |
commit | a3b89e272c6f99d878d674a3346808e06fa75e28 (patch) | |
tree | bfa32c160da45f4b8856f5687aff5f5894ee5bcd /lldb/source/Commands/CommandObjectThread.cpp | |
parent | 01d9e24f7044710e685ed57ec697df30c8038a90 (diff) | |
download | bcm5719-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.cpp | 6 |
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) { |