aboutsummaryrefslogtreecommitdiff
path: root/source/Plugins/Process/FreeBSD/POSIXStopInfo.cpp
blob: dfbd695899ffbe3a611bca4ddcb91ba4ff9a2c8e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
//===-- POSIXStopInfo.cpp ---------------------------------------*- C++ -*-===//
//
//                     The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//

#include "POSIXStopInfo.h"

using namespace lldb;
using namespace lldb_private;

//===----------------------------------------------------------------------===//
// POSIXLimboStopInfo

POSIXLimboStopInfo::~POSIXLimboStopInfo() {}

lldb::StopReason POSIXLimboStopInfo::GetStopReason() const {
  return lldb::eStopReasonThreadExiting;
}

const char *POSIXLimboStopInfo::GetDescription() { return "thread exiting"; }

bool POSIXLimboStopInfo::ShouldStop(Event *event_ptr) { return false; }

bool POSIXLimboStopInfo::ShouldNotify(Event *event_ptr) { return false; }

//===----------------------------------------------------------------------===//
// POSIXCrashStopInfo

POSIXCrashStopInfo::POSIXCrashStopInfo(FreeBSDThread &thread, uint32_t status,
                                       CrashReason reason,
                                       lldb::addr_t fault_addr)
    : POSIXStopInfo(thread, status) {
  m_description = ::GetCrashReasonString(reason, fault_addr);
}

POSIXCrashStopInfo::~POSIXCrashStopInfo() {}

lldb::StopReason POSIXCrashStopInfo::GetStopReason() const {
  return lldb::eStopReasonException;
}

//===----------------------------------------------------------------------===//
// POSIXNewThreadStopInfo

POSIXNewThreadStopInfo::~POSIXNewThreadStopInfo() {}

lldb::StopReason POSIXNewThreadStopInfo::GetStopReason() const {
  return lldb::eStopReasonNone;
}

const char *POSIXNewThreadStopInfo::GetDescription() {
  return "thread spawned";
}

bool POSIXNewThreadStopInfo::ShouldStop(Event *event_ptr) { return false; }

bool POSIXNewThreadStopInfo::ShouldNotify(Event *event_ptr) { return false; }