llvm-project/lldb
Andrew Kaylor 9ed6ae5ee0 This patch updates comments in the Predicate class to describe a subtle behavior that callers may need to be aware. It also adds documentation for one function which didn’t have any.
The subtle behavior is that the Predicate wait functions may not detect transitory changes in the predicate value.  Consider the following scenario.

Thread A waits for a bit to be set in the predicate value.
Thread B sets the bit in the predicate value.
Before Thread A wakes up, Thread C clears the bit in the predicate value.
Thread A wakes, checks the value and goes back to waiting.

The mutex and condition variables protect access to the value, but they offer no guarantee that another thread will not acquire the mutex and change the value before a waiting thread is restarted after a change.

I believe that the current behavior is correct and reasonable.  I just want to leave a marker to prevent possible problems in the future or to help anyone who might be unfortunate enough to encounter such a problem.

llvm-svn: 166800
2012-10-26 19:28:36 +00:00
..
docs Mention that the code signing process also applies to Mountain Lion 2012-10-13 17:06:33 +00:00
examples Allow operating system plug-ins to specify the address for registers so we don't have to create data up front. 2012-10-25 17:56:31 +00:00
include This patch updates comments in the Predicate class to describe a subtle behavior that callers may need to be aware. It also adds documentation for one function which didn’t have any. 2012-10-26 19:28:36 +00:00
lib Patch submitted by Dan Malea -- I introduced a dependency between 2012-10-04 02:16:06 +00:00
lldb.xcodeproj Watchpoints remember the type of the expression or variable they were set with, and use 2012-10-23 07:20:06 +00:00
lldb.xcworkspace I accidentally committed some changes to the 2011-12-21 21:30:33 +00:00
resources Bump to lldb-168, debugserver-193. 2012-09-20 06:42:30 +00:00
scripts Add API to get the process plugin name & short name. 2012-10-26 19:18:04 +00:00
source Add API to get the process plugin name & short name. 2012-10-26 19:18:04 +00:00
test Add a teardown function to TestAbbreviations so it doesn't error out when running for two archs. 2012-10-25 23:52:28 +00:00
tools eArgTypePath was removed in r166533; change -c to 2012-10-24 03:29:40 +00:00
utils Minor cleanup. 2012-03-05 18:25:29 +00:00
www Updated the "breakpoint command add" documentation and fixed the web site docs for the signature of the python breakpoint callback functions. 2012-10-26 17:53:21 +00:00
.gitignore Remove "llvm" from list of things to ignore. This results in the 2012-03-03 06:43:59 +00:00
INSTALL.txt You'll need to be running Mac OS X to get lldb to build right now. 2010-06-09 07:29:26 +00:00
LICENSE.TXT test commit 2010-06-09 03:55:24 +00:00
Makefile Don't force libc++ and c++11 on everyone. 2012-09-14 17:09:06 +00:00