summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/Process/Linux/ThreadStateCoordinator.h
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Plugins/Process/Linux/ThreadStateCoordinator.h')
-rw-r--r--lldb/source/Plugins/Process/Linux/ThreadStateCoordinator.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/lldb/source/Plugins/Process/Linux/ThreadStateCoordinator.h b/lldb/source/Plugins/Process/Linux/ThreadStateCoordinator.h
index 14399abfe08..f27dc67099f 100644
--- a/lldb/source/Plugins/Process/Linux/ThreadStateCoordinator.h
+++ b/lldb/source/Plugins/Process/Linux/ThreadStateCoordinator.h
@@ -59,6 +59,14 @@ namespace lldb_private
void
NotifyThreadDeath (lldb::tid_t tid);
+ // Indicate the calling process did an exec and that the thread state
+ // should be 100% cleared.
+ //
+ // Note this will clear out any pending notifications, but will not stop
+ // a notification currently in progress via ProcessNextEvent().
+ void
+ ResetForExec ();
+
// Indicate when the coordinator should shut down.
void
StopCoordinator ();
@@ -77,11 +85,13 @@ namespace lldb_private
class EventBase;
class EventCallAfterThreadsStop;
- class EventStopCoordinator;
class EventThreadStopped;
class EventThreadCreate;
class EventThreadDeath;
+ class EventStopCoordinator;
+ class EventReset;
+
typedef std::shared_ptr<EventBase> EventBaseSP;
typedef std::queue<EventBaseSP> QueueType;
@@ -109,6 +119,9 @@ namespace lldb_private
ThreadDidDie (lldb::tid_t tid);
void
+ ResetNow ();
+
+ void
Log (const char *format, ...);
// Member variables.
@@ -116,7 +129,7 @@ namespace lldb_private
QueueType m_event_queue;
// For now we do simple read/write lock strategy with efficient wait-for-data.
- // We can replace with entirely non-blocking queue later but we still want the
+ // We can replace with an entirely non-blocking queue later but we still want the
// reader to sleep when nothing is available - this will be a bursty but infrequent
// event mechanism.
std::condition_variable m_queue_condition;
OpenPOWER on IntegriCloud