LLDB mainline
|
#include <ThreadCollection.h>
Public Types | |
typedef std::vector< lldb::ThreadSP > | collection |
typedef LockingAdaptedIterable< collection, lldb::ThreadSP, vector_adapter, std::recursive_mutex > | ThreadIterable |
Public Member Functions | |
ThreadCollection () | |
ThreadCollection (collection threads) | |
virtual | ~ThreadCollection ()=default |
uint32_t | GetSize () |
void | AddThread (const lldb::ThreadSP &thread_sp) |
void | AddThreadSortedByIndexID (const lldb::ThreadSP &thread_sp) |
void | InsertThread (const lldb::ThreadSP &thread_sp, uint32_t idx) |
lldb::ThreadSP | GetThreadAtIndex (uint32_t idx) |
virtual ThreadIterable | Threads () |
virtual std::recursive_mutex & | GetMutex () const |
Protected Attributes | |
collection | m_threads |
std::recursive_mutex | m_mutex |
Definition at line 20 of file ThreadCollection.h.
typedef std::vector<lldb::ThreadSP> lldb_private::ThreadCollection::collection |
Definition at line 22 of file ThreadCollection.h.
typedef LockingAdaptedIterable<collection, lldb::ThreadSP, vector_adapter, std::recursive_mutex> lldb_private::ThreadCollection::ThreadIterable |
Definition at line 25 of file ThreadCollection.h.
ThreadCollection::ThreadCollection | ( | ) |
Definition at line 19 of file ThreadCollection.cpp.
ThreadCollection::ThreadCollection | ( | collection | threads | ) |
Definition at line 21 of file ThreadCollection.cpp.
|
virtualdefault |
void ThreadCollection::AddThread | ( | const lldb::ThreadSP & | thread_sp | ) |
Definition at line 24 of file ThreadCollection.cpp.
References GetMutex(), and m_threads.
Referenced by ProcessElfCore::DoUpdateThreadList(), ProcessFreeBSDKernel::DoUpdateThreadList(), ProcessMachCore::DoUpdateThreadList(), ProcessKDP::DoUpdateThreadList(), lldb_private::minidump::ProcessMinidump::DoUpdateThreadList(), lldb_private::ScriptedProcess::DoUpdateThreadList(), lldb_private::ProcessWindows::DoUpdateThreadList(), lldb_private::AppleObjCRuntime::GetBacktraceThreadFromException(), lldb::SBThread::GetExtendedBacktraceThread(), lldb_private::trace_intel_pt::TraceIntelPTBundleLoader::ParseThread(), lldb_private::process_gdb_remote::ProcessGDBRemote::SetThreadStopInfo(), and lldb_private::ThreadList::WillResume().
void ThreadCollection::AddThreadSortedByIndexID | ( | const lldb::ThreadSP & | thread_sp | ) |
Definition at line 29 of file ThreadCollection.cpp.
References GetMutex(), and m_threads.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::DoUpdateThreadList().
|
inlinevirtual |
Reimplemented in lldb_private::ThreadList.
Definition at line 50 of file ThreadCollection.h.
References m_mutex.
Referenced by AddThread(), AddThreadSortedByIndexID(), GetSize(), GetThreadAtIndex(), InsertThread(), and Threads().
uint32_t ThreadCollection::GetSize | ( | ) |
Definition at line 54 of file ThreadCollection.cpp.
References GetMutex(), and m_threads.
ThreadSP ThreadCollection::GetThreadAtIndex | ( | uint32_t | idx | ) |
Definition at line 59 of file ThreadCollection.cpp.
References GetMutex(), and m_threads.
void ThreadCollection::InsertThread | ( | const lldb::ThreadSP & | thread_sp, |
uint32_t | idx | ||
) |
Definition at line 45 of file ThreadCollection.cpp.
References GetMutex(), and m_threads.
|
inlinevirtual |
Definition at line 46 of file ThreadCollection.h.
References GetMutex(), and m_threads.
Referenced by lldb_private::Process::CalculateCoreFileThreadList(), lldb_private::ProcessWindows::DoUpdateThreadList(), SaveOffRegionsWithStackPointers(), lldb_private::Process::Threads(), and lldb_private::ThreadPlanStackMap::Update().
|
mutableprotected |
Definition at line 54 of file ThreadCollection.h.
Referenced by GetMutex().
|
protected |
Definition at line 53 of file ThreadCollection.h.
Referenced by AddThread(), AddThreadSortedByIndexID(), lldb_private::ThreadList::Clear(), lldb_private::ThreadList::Destroy(), lldb_private::ThreadList::DidResume(), lldb_private::ThreadList::DidStop(), lldb_private::ThreadList::DiscardThreadPlans(), lldb_private::ThreadList::FindThreadByID(), lldb_private::ThreadList::FindThreadByIndexID(), lldb_private::ThreadList::FindThreadByProtocolID(), lldb_private::ThreadList::Flush(), lldb_private::ThreadList::GetBackingThread(), lldb_private::ThreadList::GetSelectedThread(), GetSize(), lldb_private::ThreadList::GetSize(), GetThreadAtIndex(), lldb_private::ThreadList::GetThreadAtIndex(), lldb_private::ThreadList::GetThreadSPForThreadPtr(), InsertThread(), lldb_private::ThreadList::operator=(), lldb_private::ThreadList::RefreshStateAfterStop(), lldb_private::ThreadList::RemoveThreadByID(), lldb_private::ThreadList::RemoveThreadByProtocolID(), lldb_private::ThreadList::SetShouldReportStop(), lldb_private::ThreadList::ShouldReportRun(), lldb_private::ThreadList::ShouldReportStop(), lldb_private::ThreadList::ShouldStop(), Threads(), lldb_private::ThreadList::Update(), and lldb_private::ThreadList::WillResume().