summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/Process/FreeBSD
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Plugins/Process/FreeBSD')
-rw-r--r--lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp18
-rw-r--r--lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.h3
2 files changed, 21 insertions, 0 deletions
diff --git a/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp b/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp
index 4a8f7b86254..06ad6da625e 100644
--- a/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp
+++ b/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp
@@ -122,6 +122,24 @@ ProcessFreeBSD::Terminate()
{
}
+Error
+ProcessFreeBSD::DoDetach(bool keep_stopped)
+{
+ Error error;
+ if (keep_stopped)
+ {
+ error.SetErrorString("Detaching with keep_stopped true is not currently supported on FreeBSD.");
+ return error;
+ }
+
+ error = m_monitor->Detach(GetID());
+
+ if (error.Success())
+ SetPrivateState(eStateDetached);
+
+ return error;
+}
+
bool
ProcessFreeBSD::UpdateThreadList(ThreadList &old_thread_list, ThreadList &new_thread_list)
{
diff --git a/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.h b/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.h
index 5f79b74cad3..fb549745b80 100644
--- a/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.h
+++ b/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.h
@@ -54,6 +54,9 @@ public:
ProcessFreeBSD(lldb_private::Target& target,
lldb_private::Listener &listener);
+ virtual lldb_private::Error
+ DoDetach(bool keep_stopped);
+
virtual bool
UpdateThreadList(lldb_private::ThreadList &old_thread_list, lldb_private::ThreadList &new_thread_list);
OpenPOWER on IntegriCloud