llvm-project/lldb/source/API
Jim Ingham 4fc6cb9c76 Rework how the API mutex is acquired when filling out an ExecutionContext from an ExecutionContextRef,
particularly in the SBThread & SBFrame interfaces.  Instead of filling the whole context & then getting
the API mutex, we now get only the target, acquire the API mutex from it, then fill out the rest of the
context.  This removes a race condition where you get a ThreadSP, then wait on the API mutex while another
command Destroy's the Thread you've just gotten.
Also fixed the ExecutionContextRef::Get*SP calls so they don't return invalid objects.
Also fixed the ExecutionContext::Has*Scope calls so they don't claim to have a scope if the object representing
that scope has been destroyed.
Also fixed a think-o in Thread::IsValid which was causing it to return the opposite of the desired value.

<rdar://problem/11995490>

llvm-svn: 162401
2012-08-22 21:34:33 +00:00
..
Makefile Merged Eli Friedman's linux build changes where he added Makefile files that 2010-07-09 20:39:50 +00:00
SBAddress.cpp Expose GetAddressClass() from both the SBAddress and SBInstruction so clients can tell the difference between ARM/Thumb opcodes when disassembling ARM. 2012-04-13 00:07:34 +00:00
SBBlock.cpp Removed all of the "#ifndef SWIG" from the SB header files since we are using 2012-02-06 01:44:54 +00:00
SBBreakpoint.cpp Add explicit casts to bool in "shared pointer is valid" constructs that return bool. 2012-08-11 00:35:26 +00:00
SBBreakpointLocation.cpp Add an accessor on SBBreakpointLocation to get its location ID. 2012-05-16 00:51:15 +00:00
SBBroadcaster.cpp Add a general mechanism to wait on the debugger for Broadcasters of a given class/event bit set. 2012-02-16 06:50:00 +00:00
SBCommandInterpreter.cpp Change UnwindAssemblyInstEmulation::GetNonCallSiteUnwindPlanFromAssembly so it records 2012-07-17 01:57:24 +00:00
SBCommandReturnObject.cpp Make a way to set the result status for Python defined commands, and don't overwrite the status of the result if 2012-06-27 17:25:36 +00:00
SBCommunication.cpp Add a general mechanism to wait on the debugger for Broadcasters of a given class/event bit set. 2012-02-16 06:50:00 +00:00
SBCompileUnit.cpp Patch from dawn@burble.org: 2012-03-16 20:46:10 +00:00
SBData.cpp Patch from Enrico Granata that moves SBData related functions into the SBData 2012-01-07 00:45:50 +00:00
SBDebugger.cpp Remove further outdated "settings" code and also implement a few missing things. 2012-08-22 18:39:03 +00:00
SBError.cpp Make ValueObject::SetValueFromCString work correctly. 2011-08-12 23:34:31 +00:00
SBEvent.cpp Add a general mechanism to wait on the debugger for Broadcasters of a given class/event bit set. 2012-02-16 06:50:00 +00:00
SBFileSpec.cpp <rdar://problem/10126482> 2011-11-13 06:57:31 +00:00
SBFileSpecList.cpp <rdar://problem/10126482> 2011-11-13 06:57:31 +00:00
SBFrame.cpp Rework how the API mutex is acquired when filling out an ExecutionContext from an ExecutionContextRef, 2012-08-22 21:34:33 +00:00
SBFunction.cpp Don't expose the pthread_mutex_t underlying the Mutex & Mutex::Locker classes. 2012-05-04 23:02:50 +00:00
SBHostOS.cpp Add error message; clean up comment. 2011-06-14 16:36:12 +00:00
SBInputReader.cpp Modified all logging calls to hand out shared pointers to make sure we 2010-11-06 01:53:30 +00:00
SBInstruction.cpp <rdar://problem/11330621> 2012-05-10 02:52:23 +00:00
SBInstructionList.cpp <rdar://problem/11330621> 2012-05-10 02:52:23 +00:00
SBLineEntry.cpp Make the IsValid() operator for SBLineEntry "do the right thing" by returning true if the line entry is valid, not just if the opaque pointer to lldb_private::LineEntry is non NULL. 2012-06-27 20:18:01 +00:00
SBListener.cpp Fixing some indentation. 2012-05-08 20:05:08 +00:00
SBModule.cpp <rdar://problem/11113279> 2012-03-26 23:03:23 +00:00
SBProcess.cpp Rework how the API mutex is acquired when filling out an ExecutionContext from an ExecutionContextRef, 2012-08-22 21:34:33 +00:00
SBSection.cpp Added the ability to read the dSYM plist file with source remappings even when DebugSymbols isn't used to find the dSYM. We now parse the plist as XML in the MacOSX symbol vendor. 2012-06-27 22:22:28 +00:00
SBSourceManager.cpp SBFrame is now threadsafe using some extra tricks. One issue is that stack 2012-01-30 07:41:31 +00:00
SBStream.cpp Return 0 for the size_t return type. 2012-04-03 04:14:31 +00:00
SBStringList.cpp Added copy constructors and assignment operators to all lldb::SB* classes 2010-11-05 23:17:00 +00:00
SBSymbol.cpp Don't expose the pthread_mutex_t underlying the Mutex & Mutex::Locker classes. 2012-05-04 23:02:50 +00:00
SBSymbolContext.cpp Removed all of the "#ifndef SWIG" from the SB header files since we are using 2012-02-06 01:44:54 +00:00
SBSymbolContextList.cpp Removed all of the "#ifndef SWIG" from the SB header files since we are using 2012-02-06 01:44:54 +00:00
SBTarget.cpp Add "vAttachOrWait" to debugserver, so you can implement "attach to the process if it exists OR wait for it" without race conditions. Use that in lldb. 2012-07-20 21:37:13 +00:00
SBThread.cpp Rework how the API mutex is acquired when filling out an ExecutionContext from an ExecutionContextRef, 2012-08-22 21:34:33 +00:00
SBType.cpp <rdar://problem/11275622> 2012-07-31 23:39:10 +00:00
SBTypeCategory.cpp SBTypeCategory::GetName returns const char* so return 2012-03-22 21:23:49 +00:00
SBTypeFilter.cpp <rdar://problem/10062621> 2012-02-15 02:34:21 +00:00
SBTypeFormat.cpp <rdar://problem/10062621> 2012-02-15 02:34:21 +00:00
SBTypeNameSpecifier.cpp Adding formatters for several useful Objective-C/Cocoa data types. The new categories are not enabled at startup, but can be manually activated if desired. 2012-02-17 03:18:30 +00:00
SBTypeSummary.cpp Patch Enrico's changes from r150558 on 2012-02-14 to build even if Python 2012-02-21 05:33:55 +00:00
SBTypeSynthetic.cpp Patch Enrico's changes from r150558 on 2012-02-14 to build even if Python 2012-02-21 05:33:55 +00:00
SBValue.cpp SBValue::GetTypeName and SBValue::GetByteSize might have to update the dynamic value - which might involve running code. So they need to take the stop lock & target locks. 2012-08-21 01:46:35 +00:00
SBValueList.cpp Convert all python objects in our API to use overload the __str__ method 2012-02-04 02:27:34 +00:00
SBWatchpoint.cpp Add explicit casts to bool in "shared pointer is valid" constructs that return bool. 2012-08-11 00:35:26 +00:00