[all-commits] [llvm/llvm-project] 58279d: [lldb] Synchronize the debuggers output & error st...
Jonas Devlieghere via All-commits
all-commits at lists.llvm.org
Wed Feb 19 20:32:21 PST 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 58279d1ee1b567e8ca793d6d1eb6e0f1d5e7279e
https://github.com/llvm/llvm-project/commit/58279d1ee1b567e8ca793d6d1eb6e0f1d5e7279e
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/Core/IOHandler.h
M lldb/include/lldb/Host/Editline.h
M lldb/include/lldb/Host/File.h
M lldb/include/lldb/Host/StreamFile.h
M lldb/include/lldb/Interpreter/ScriptInterpreter.h
M lldb/include/lldb/lldb-forward.h
M lldb/source/Commands/CommandObjectBreakpointCommand.cpp
M lldb/source/Commands/CommandObjectCommands.cpp
M lldb/source/Commands/CommandObjectExpression.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/CommandObjectType.cpp
M lldb/source/Commands/CommandObjectWatchpointCommand.cpp
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/IOHandler.cpp
M lldb/source/Core/IOHandlerCursesGUI.cpp
M lldb/source/Expression/REPL.cpp
M lldb/source/Host/common/Editline.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Interpreter/ScriptInterpreter.cpp
M lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/unittests/Editline/EditlineTest.cpp
Log Message:
-----------
[lldb] Synchronize the debuggers output & error streams
This patch improves the synchronization of the debugger's output and error
streams using two new abstractions: `LockableStreamFile` and
`LockedStreamFile`.
- `LockableStreamFile` is a wrapper around a `StreamFile` and a mutex. Client
cannot use the `StreamFile` without calling `Lock`, which returns a
`LockedStreamFile`.
- `LockedStreamFile` is an RAII object that locks the stream for the duration
of its existence. As long as you hold on to the returned object you are
permitted to write to the stream. The destruction of the object
automatically flush the output stream.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list