9#ifndef LLDB_TARGET_THREADPLANSINGLETHREADTIMEOUT_H
10#define LLDB_TARGET_THREADPLANSINGLETHREADTIMEOUT_H
23class ThreadPlanSingleThreadTimeout;
51 std::shared_ptr<ThreadPlanSingleThreadTimeout::TimeoutInfo>;
static llvm::raw_ostream & error(Stream &strm)
A stream class that can stream formatted output to a file.
bool ShouldStop(Event *event_ptr) override
bool ValidatePlan(Stream *error) override
Returns whether this plan could be successfully created.
bool MischiefManaged() override
std::shared_ptr< ThreadPlanSingleThreadTimeout::TimeoutInfo > TimeoutInfoSP
static void ResumeFromPrevState(Thread &thread, TimeoutInfoSP &info)
std::chrono::steady_clock::time_point m_timeout_start
static void TimeoutThreadFunc(ThreadPlanSingleThreadTimeout *self)
const ThreadPlanSingleThreadTimeout & operator=(const ThreadPlanSingleThreadTimeout &)=delete
bool HandleEvent(Event *event_ptr)
std::condition_variable m_wakeup_cv
static void PushNewWithTimeout(Thread &thread, TimeoutInfoSP &info)
static std::string StateToString(State state)
bool DoPlanExplainsStop(Event *event_ptr) override
ThreadPlanSingleThreadTimeout(const ThreadPlanSingleThreadTimeout &)=delete
bool StopOthers() override
bool IsLeafPlan() override
uint64_t GetRemainingTimeoutMilliSeconds()
~ThreadPlanSingleThreadTimeout() override
std::thread m_timer_thread
void GetDescription(Stream *s, lldb::DescriptionLevel level) override
Print a description of this thread to the stream s.
lldb::StateType GetPlanRunState() override
bool IsTimeoutAsyncInterrupt(Event *event_ptr)
void SetStopOthers(bool new_value) override
A class that represents a running process on the host machine.
DescriptionLevel
Description levels for "void GetDescription(Stream *, DescriptionLevel)" calls.
StateType
Process and Thread States.
ThreadPlanSingleThreadTimeout::State m_last_state