diff --git a/lldb/include/lldb/Core/Debugger.h b/lldb/include/lldb/Core/Debugger.h --- a/lldb/include/lldb/Core/Debugger.h +++ b/lldb/include/lldb/Core/Debugger.h @@ -500,6 +500,19 @@ SetDestroyCallback(lldb_private::DebuggerDestroyCallback destroy_callback, void *baton); + /// Manually start the global event handler thread. It should be used by + /// programs that use LLDB as a library. + bool StartEventHandlerThread(); + + /// Stop the global event handler thread. It should only be used by programs + /// that manually invoked \a Debugger::StartEventHandlerThread(). + void StopEventHandlerThread(); + + /// Force flushing the process's pending stdout and stderr to the debuggers' + /// asynchronous stdout and stderr streams. + void FlushProcessOutput(Process &process, bool flush_stdout, + bool flush_stderr); + protected: friend class CommandInterpreter; friend class REPL; @@ -548,10 +561,6 @@ void PrintProgress(const ProgressEventData &data); - bool StartEventHandlerThread(); - - void StopEventHandlerThread(); - void PushIOHandler(const lldb::IOHandlerSP &reader_sp, bool cancel_top_handler = true); @@ -587,8 +596,6 @@ // Ensures two threads don't attempt to flush process output in parallel. std::mutex m_output_flush_mutex; - void FlushProcessOutput(Process &process, bool flush_stdout, - bool flush_stderr); SourceManager::SourceFileCache &GetSourceFileCache() { return m_source_file_cache;