9#ifndef LLDB_TARGET_THREADLIST_H
10#define LLDB_TARGET_THREADLIST_H
39 uint32_t
GetSize(
bool can_update =
true);
93 bool can_update =
true);
98 bool can_update =
true);
137 std::recursive_mutex &
GetMutex()
const override;
A plug-in interface definition class for debugging a process.
ThreadList * m_thread_list
ExpressionExecutionThreadPusher(ThreadList &thread_list, lldb::tid_t tid)
~ExpressionExecutionThreadPusher()
lldb::ThreadSP RemoveThreadByID(lldb::tid_t tid, bool can_update=true)
lldb::ThreadSP GetSelectedThread()
bool ShouldStop(Event *event_ptr)
Vote ShouldReportStop(Event *event_ptr)
uint32_t GetStopID() const
bool SetSelectedThreadByIndexID(uint32_t index_id, bool notify=false)
lldb::ThreadSP FindThreadByProtocolID(lldb::tid_t tid, bool can_update=true)
void PopExpressionExecutionThread(lldb::tid_t tid)
bool SetSelectedThreadByID(lldb::tid_t tid, bool notify=false)
lldb::ThreadSP FindThreadByIndexID(uint32_t index_id, bool can_update=true)
Vote ShouldReportRun(Event *event_ptr)
void SetStopID(uint32_t stop_id)
lldb::ThreadSP GetThreadSPForThreadPtr(Thread *thread_ptr)
lldb::ThreadSP GetThreadAtIndex(uint32_t idx, bool can_update=true)
uint32_t m_stop_id
The process stop ID that this thread list is valid for.
std::recursive_mutex & GetMutex() const override
lldb::ThreadSP FindThreadByID(lldb::tid_t tid, bool can_update=true)
lldb::ThreadSP GetExpressionExecutionThread()
const ThreadList & operator=(const ThreadList &rhs)
Precondition: both thread lists must be belong to the same process.
void DiscardThreadPlans()
void RefreshStateAfterStop()
void Update(ThreadList &rhs)
Precondition: both thread lists must be belong to the same process.
lldb::ThreadSP GetBackingThread(const lldb::ThreadSP &real_thread)
bool WillResume()
The thread list asks tells all the threads it is about to resume.
void PushExpressionExecutionThread(lldb::tid_t tid)
void SetShouldReportStop(Vote vote)
lldb::tid_t m_selected_tid
For targets that need the notion of a current thread.
void NotifySelectedThreadChanged(lldb::tid_t tid)
lldb::ThreadSP RemoveThreadByProtocolID(lldb::tid_t tid, bool can_update=true)
Process & m_process
The process that manages this thread list.
std::vector< lldb::tid_t > m_expression_tid_stack
#define LLDB_INVALID_THREAD_ID
A class that represents a running process on the host machine.
std::shared_ptr< lldb_private::Thread > ThreadSP