diff options
Diffstat (limited to 'lldb/source/Plugins/Process/Linux/ThreadStateCoordinator.h')
| -rw-r--r-- | lldb/source/Plugins/Process/Linux/ThreadStateCoordinator.h | 17 |
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; |

