summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/Process/Linux/LinuxThread.h
diff options
context:
space:
mode:
authorStephen Wilson <wilsons@start.ca>2011-03-30 15:55:52 +0000
committerStephen Wilson <wilsons@start.ca>2011-03-30 15:55:52 +0000
commit84ffe7033c41fd3501eab22632cab93d7df7b1a9 (patch)
tree24cc9529cf897be63fa3db393e0441e53d6914b9 /lldb/source/Plugins/Process/Linux/LinuxThread.h
parent8564e0de96d18eba9d8501611591c7c3ef9d8be3 (diff)
downloadbcm5719-llvm-84ffe7033c41fd3501eab22632cab93d7df7b1a9.tar.gz
bcm5719-llvm-84ffe7033c41fd3501eab22632cab93d7df7b1a9.zip
linux: initial support for 'real' signal handling
This patch upgrades the Linux process plugin to handle a larger range of signal events. For example, we can detect when the inferior has "crashed" and why, interrupt a running process, deliver an arbitrary signal, and so on. llvm-svn: 128547
Diffstat (limited to 'lldb/source/Plugins/Process/Linux/LinuxThread.h')
-rw-r--r--lldb/source/Plugins/Process/Linux/LinuxThread.h30
1 files changed, 10 insertions, 20 deletions
diff --git a/lldb/source/Plugins/Process/Linux/LinuxThread.h b/lldb/source/Plugins/Process/Linux/LinuxThread.h
index 88973fc8844..cafc83a7c87 100644
--- a/lldb/source/Plugins/Process/Linux/LinuxThread.h
+++ b/lldb/source/Plugins/Process/Linux/LinuxThread.h
@@ -17,6 +17,7 @@
// Other libraries and framework includes
#include "lldb/Target/Thread.h"
+class ProcessMessage;
class ProcessMonitor;
class RegisterContextLinux;
@@ -51,9 +52,7 @@ public:
//
bool Resume();
- void BreakNotify();
- void TraceNotify();
- void ExitNotify();
+ void Notify(const ProcessMessage &message);
protected:
virtual bool
@@ -63,7 +62,6 @@ protected:
RestoreSaveFrameZero(const RegisterCheckpoint &checkpoint);
private:
-
RegisterContextLinux *
GetRegisterContextLinux ()
{
@@ -77,26 +75,18 @@ private:
lldb::BreakpointSiteSP m_breakpoint;
lldb::StopInfoSP m_stop_info;
- // Cached process stop id. Used to ensure we do not recalculate stop
- // information/state needlessly.
- uint32_t m_stop_info_id;
-
- enum Notification {
- eNone,
- eBreak,
- eTrace,
- eExit
- };
-
- Notification m_note;
-
- ProcessMonitor &GetMonitor();
+ ProcessMonitor &
+ GetMonitor();
lldb::StopInfoSP
GetPrivateStopReason();
- void
- RefreshPrivateStopReason();
+ void BreakNotify(const ProcessMessage &message);
+ void TraceNotify(const ProcessMessage &message);
+ void LimboNotify(const ProcessMessage &message);
+ void SignalNotify(const ProcessMessage &message);
+ void SignalDeliveredNotify(const ProcessMessage &message);
+ void CrashNotify(const ProcessMessage &message);
lldb_private::Unwind *
GetUnwinder();
OpenPOWER on IntegriCloud