LLDB mainline
TimeoutResumeAll.h
Go to the documentation of this file.
1//===-- TimeoutResumeAll.h -------------------------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef LLDB_TARGET_TIMEOUTRESUMEALL_H
10#define LLDB_TARGET_TIMEOUTRESUMEALL_H
11
13
14namespace lldb_private {
15
16// Mixin class that provides the capability for ThreadPlan to support single
17// thread execution that resumes all threads after a timeout.
18// Opt-in thread plan should call PushNewTimeout() in its DidPush() and
19// ResumeWithTimeout() during DoWillResume().
21public:
23 : m_thread(thread),
25 std::make_shared<ThreadPlanSingleThreadTimeout::TimeoutInfo>()) {}
26
29 }
30
34 }
35
36private:
39};
40
41} // namespace lldb_private
42
43#endif // LLDB_TARGET_TIMEOUTRESUMEALL_H
std::shared_ptr< ThreadPlanSingleThreadTimeout::TimeoutInfo > TimeoutInfoSP
static void ResumeFromPrevState(Thread &thread, TimeoutInfoSP &info)
static void PushNewWithTimeout(Thread &thread, TimeoutInfoSP &info)
ThreadPlanSingleThreadTimeout::TimeoutInfoSP m_timeout_info
A class that represents a running process on the host machine.