Author: walter erquinigo Date: 2023-05-04T14:44:03-05:00 New Revision: db5f745a2bfcd1b93fc298da6cfcf5ed2f00e98f
URL: https://github.com/llvm/llvm-project/commit/db5f745a2bfcd1b93fc298da6cfcf5ed2f00e98f DIFF: https://github.com/llvm/llvm-project/commit/db5f745a2bfcd1b93fc298da6cfcf5ed2f00e98f.diff LOG: [lldb] Make some functions useful to REPLs public `StartEventHandlerThread` and `StopEventHandlerThread` are available to the SwiftREPL even though they are protected because SwiftREPL is a friend class of Debugger. I'm developing my own REPL and having access to these functions, including `FlushProcessOutput`, is desirable. Differential Revision: https://reviews.llvm.org/D149717 Added: Modified: lldb/include/lldb/Core/Debugger.h Removed: ################################################################################ diff --git a/lldb/include/lldb/Core/Debugger.h b/lldb/include/lldb/Core/Debugger.h index 12c1c046fbcef..a7487e159e2c7 100644 --- a/lldb/include/lldb/Core/Debugger.h +++ b/lldb/include/lldb/Core/Debugger.h @@ -500,6 +500,19 @@ class Debugger : public std::enable_shared_from_this<Debugger>, SetDestroyCallback(lldb_private::DebuggerDestroyCallback destroy_callback, void *baton); + /// Manually start the global event handler thread. It is useful to plugins + /// that directly use the \a lldb_private namespace and want to use the + /// debugger's default event handler thread instead of defining their own. + bool StartEventHandlerThread(); + + /// Manually stop the debugger's default event handler. + void StopEventHandlerThread(); + + /// Force flushing the process's pending stdout and stderr to the debugger's + /// 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 @@ class Debugger : public std::enable_shared_from_this<Debugger>, 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 @@ class Debugger : public std::enable_shared_from_this<Debugger>, // 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; _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits