hanchenye-llvm-project/lldb
Hafiz Abid Qadeer d1f606ff0f Fix a race condition in lldb-mi.
lldb-mi has 3 threads.
1. One that waits for user intput.
2. Another waits for 1st thread to get input command.
3. Waits for events from lldb.

2 & 3 needs to be synchronized so that they don't end up
doing things at same time. For example, while "break insert" is
processing, we can get a breakpoint event. Depending on where we
are in "break-insert", it can have different behavior. In some
cases, it can cause breakpoint to be deleted too. I have added a 
mutex so that command processing and event processing are done 
exclusively and they are not running at the same time.

In longer term, I think thread 2 & 3 should be merged to be only 
one thread which can wait on command or events.

Reviewed in http://reviews.llvm.org/D7371.

llvm-svn: 228128
2015-02-04 09:59:23 +00:00
..
cmake added some missing ABIs 2015-02-03 01:51:10 +00:00
docs Fix a typo in code-signing.txt 2015-01-27 23:26:59 +00:00
examples Specify ObjC++ when running heap commands in case we are stopped in a frame with another language. 2015-01-14 21:37:19 +00:00
gtest Fix compilation error and cleanup in ThreadStateCoordinatorTest 2015-02-03 01:51:54 +00:00
include Change void* name_token to const void* to address warnings. 2015-02-03 08:01:34 +00:00
lib Fix some bugs from D5988 2014-10-31 15:57:52 +00:00
lldb.xcodeproj Moving header files from source/Host/common to proper location. 2015-02-03 01:51:38 +00:00
lldb.xcworkspace Fixup gtest layout, add Linux ThreadStateCoordinator.cpp. 2014-09-25 19:25:07 +00:00
resources Bump the verison number in the xcode project files. 2014-08-21 23:27:02 +00:00
scripts Added remote-build.py and wired it into Xcode for Linux and MacOSX+Linux builds. 2015-02-03 01:50:39 +00:00
source Test commit. 2015-02-04 05:40:07 +00:00
test Add an expectall() API that allows you to pass a list of patterns and have pexpect match *ALL* of them instead of just picking one 2015-02-03 03:11:59 +00:00
tools Fix a race condition in lldb-mi. 2015-02-04 09:59:23 +00:00
utils LUI: Fix some issues causing crashes in the source view 2013-10-23 01:18:21 +00:00
www Update the website with information about LLDB on Windows. 2014-12-31 00:06:49 +00:00
.arcconfig Update .arcconfig to point to reviews.llvm.org 2014-05-20 21:24:59 +00:00
.clang-format Fix .clang-format file to adhere to LLDB 140 column limit. 2014-08-19 17:18:38 +00:00
.gitignore Added remote-build.py and wired it into Xcode for Linux and MacOSX+Linux builds. 2015-02-03 01:50:39 +00:00
CMakeLists.txt Revert "Some fixes for linking Python on Windows." 2015-01-21 18:30:40 +00:00
INSTALL.txt Revert "git-svn test commit" 2014-11-18 22:45:59 +00:00
LICENSE.TXT
Makefile Remove the -Wno-unused-function option. We are clean 2014-09-09 07:49:15 +00:00