diff options
Diffstat (limited to 'lldb/source/Target/UnixSignals.cpp')
| -rw-r--r-- | lldb/source/Target/UnixSignals.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/lldb/source/Target/UnixSignals.cpp b/lldb/source/Target/UnixSignals.cpp index 6e857e6..26ff0bb 100644 --- a/lldb/source/Target/UnixSignals.cpp +++ b/lldb/source/Target/UnixSignals.cpp @@ -15,6 +15,7 @@ #include "lldb/Utility/ArchSpec.h" using namespace lldb_private; +using namespace llvm; UnixSignals::Signal::Signal(const char *name, bool default_suppress, bool default_stop, bool default_notify, @@ -312,3 +313,20 @@ UnixSignals::GetFilteredSignals(llvm::Optional<bool> should_suppress, return result; } + +void UnixSignals::IncrementSignalHitCount(int signo) { + collection::iterator pos = m_signals.find(signo); + if (pos != m_signals.end()) + pos->second.m_hit_count += 1; +} + +json::Value UnixSignals::GetHitCountStatistics() const { + json::Array json_signals; + for (const auto &pair: m_signals) { + if (pair.second.m_hit_count > 0) + json_signals.emplace_back(json::Object{ + { pair.second.m_name.GetCString(), pair.second.m_hit_count } + }); + } + return std::move(json_signals); +} |
