Added an interface for noticing new thread creation. At this point, I only turn it on when
we are requesting a single thread to run. May seem like a silly thing to do, but the kernel
on MacOS X will inject new threads into a program willy-nilly, and I would like to keep them
from running if I can.
git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124018 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h b/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
index 74905d0..ebb4cca 100644
--- a/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
+++ b/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
@@ -216,6 +216,12 @@
virtual lldb_private::DynamicLoader *
GetDynamicLoader ();
+
+ virtual bool
+ StartNoticingNewThreads();
+
+ virtual bool
+ StopNoticingNewThreads();
protected:
friend class ThreadGDBRemote;
@@ -336,6 +342,7 @@
size_t m_max_memory_size; // The maximum number of bytes to read/write when reading and writing memory
bool m_waiting_for_attach;
bool m_local_debugserver; // Is the debugserver process we are talking to local or on another machine.
+ std::vector<lldb::user_id_t> m_thread_observation_bps;
void
ResetGDBRemoteState ();
@@ -379,6 +386,12 @@
//------------------------------------------------------------------
// For ProcessGDBRemote only
//------------------------------------------------------------------
+ static bool
+ NewThreadNotifyBreakpointHit (void *baton,
+ lldb_private::StoppointCallbackContext *context,
+ lldb::user_id_t break_id,
+ lldb::user_id_t break_loc_id);
+
DISALLOW_COPY_AND_ASSIGN (ProcessGDBRemote);
};