<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/source/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in OutputRedirector.cpp</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>873426bea3dd67d80dd10650e64e91c69796614f - [lldb-dap] Ensure the IO forwarding threads are managed by the DAP object lifecycle. (#122783)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/lldb/tools/lldb-vscode/OutputRedirector.cpp#873426bea3dd67d80dd10650e64e91c69796614f</link>
        <description>[lldb-dap] Ensure the IO forwarding threads are managed by the DAP object lifecycle. (#122783)This moves the ownership of the threads that forward stdout/stderr tothe DAP object itself to ensure that the threads are joined and that theforwarding is cleaned up when the DAP connection is disconnected.This is part of a larger refactor to allow lldb-dap to run in alistening mode and accept multiple connections.This reverts the previous revert and now that the underlying Windowsissue was fixed by 3ea2b546a8d17014d3ecf05356ecfaadf26ed846.

            List of files:
            /llvm-project/lldb/tools/lldb-vscode/OutputRedirector.cpp</description>
        <pubDate>Mon, 27 Jan 2025 16:58:50 +0000</pubDate>
        <dc:creator>John Harrison &lt;harjohn@google.com&gt;</dc:creator>
    </item>
<item>
        <title>81898ac00e04ed3f352534a810829bdf4e6e14b7 - Revert &quot;[lldb-dap] Ensure the IO forwarding threads are managed by the DAP object lifecycle. (#120457)&quot;</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/lldb/tools/lldb-vscode/OutputRedirector.cpp#81898ac00e04ed3f352534a810829bdf4e6e14b7</link>
        <description>Revert &quot;[lldb-dap] Ensure the IO forwarding threads are managed by the DAP object lifecycle. (#120457)&quot;This reverts commit 0d9cf2671e06c9124a0b5fc753330c39c8b4a791. Breaks thelldb-aarch64-windows buildbot.

            List of files:
            /llvm-project/lldb/tools/lldb-vscode/OutputRedirector.cpp</description>
        <pubDate>Wed, 08 Jan 2025 14:49:46 +0000</pubDate>
        <dc:creator>Benjamin Kramer &lt;benny.kra@googlemail.com&gt;</dc:creator>
    </item>
<item>
        <title>0d9cf2671e06c9124a0b5fc753330c39c8b4a791 - [lldb-dap] Ensure the IO forwarding threads are managed by the DAP object lifecycle. (#120457)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/lldb/tools/lldb-vscode/OutputRedirector.cpp#0d9cf2671e06c9124a0b5fc753330c39c8b4a791</link>
        <description>[lldb-dap] Ensure the IO forwarding threads are managed by the DAP object lifecycle. (#120457)This moves the ownership of the threads that forward stdout/stderr tothe DAP object itself to ensure that the threads are joined and that theforwarding is cleaned up when the DAP connection is disconnected.This is part of a larger refactor to allow lldb-dap to run in alistening mode and accept multiple connections.---------Co-authored-by: Pavel Labath &lt;pavel@labath.sk&gt;

            List of files:
            /llvm-project/lldb/tools/lldb-vscode/OutputRedirector.cpp</description>
        <pubDate>Tue, 07 Jan 2025 17:01:34 +0000</pubDate>
        <dc:creator>John Harrison &lt;harjohn@google.com&gt;</dc:creator>
    </item>
<item>
        <title>30ca06c4d0d06f67f10a9e19d4333acc2074811b - [lldb-dap] When sending a DAP Output Event break each message into separate lines. (#105456)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/lldb/tools/lldb-vscode/OutputRedirector.cpp#30ca06c4d0d06f67f10a9e19d4333acc2074811b</link>
        <description>[lldb-dap] When sending a DAP Output Event break each message into separate lines. (#105456)Previously, when output like `&quot;hello\nworld\n&quot;` was produced by lldb (orthe process) the message would be sent as a single Output event. Bybeing a single event this causes VS Code to treat this as a singlemessage in the console when handling displaying and filtering in theDebug Console.Instead, with these changes we send each line as its own event. Thisresults in VS Code representing each line of output from lldb-dap as anindividual output message.Resolves #105444

            List of files:
            /llvm-project/lldb/tools/lldb-vscode/OutputRedirector.cpp</description>
        <pubDate>Wed, 21 Aug 2024 20:48:29 +0000</pubDate>
        <dc:creator>John Harrison &lt;harjohn@google.com&gt;</dc:creator>
    </item>
<item>
        <title>01263c6c6fb495a94fe0ccbb1420bb1ec8460748 - [lldb] Rename lldb-vscode to lldb-dap (#69264)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/lldb/tools/lldb-vscode/OutputRedirector.cpp#01263c6c6fb495a94fe0ccbb1420bb1ec8460748</link>
        <description>[lldb] Rename lldb-vscode to lldb-dap (#69264)Rename lldb-vscode to lldb-dap. This change is largely mechanical. Thefollowing substitutions cover the majority of the changes in thiscommit:  s/VSCODE/DAP/  s/VSCode/DAP/  s/vscode/dap/  s/g_vsc/g_dap/Discourse RFC:https://discourse.llvm.org/t/rfc-rename-lldb-vscode-to-lldb-dap/74075/

            List of files:
            /llvm-project/lldb/tools/lldb-vscode/OutputRedirector.cpp</description>
        <pubDate>Thu, 19 Oct 2023 16:48:54 +0000</pubDate>
        <dc:creator>Jonas Devlieghere &lt;jonas@devlieghere.com&gt;</dc:creator>
    </item>
<item>
        <title>9bcaf6ddfe34943e6ae6a319097524c117908913 - [lldb-vscode] Implement stderr/stdout on win32 and redirect lldb log to VSCode</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/lldb/tools/lldb-vscode/OutputRedirector.cpp#9bcaf6ddfe34943e6ae6a319097524c117908913</link>
        <description>[lldb-vscode] Implement stderr/stdout on win32 and redirect lldb log to VSCodeThis patch implements stderr/stdout forwarding on windows.This was previously not implemented in D99974.I added separate callbacks so the output can be sent to the different channels VSCode provides (OutputType::Stdout, OutputType::Stderr, OutputType::Console).This patch also passes a log callback handler to SBDebugger::Create to be able to see logging output when it is enabled.Since the output is now redirect on early startup I removed the calls to SetOutputFileHandle/SetErrorFileHandle, which set them to /dev/null.I send the output of stderr/stdout/lldb log to OutputType::ConsoleReviewed By: wallaceDifferential Revision: https://reviews.llvm.org/D123025

            List of files:
            /llvm-project/lldb/tools/lldb-vscode/OutputRedirector.cpp</description>
        <pubDate>Tue, 05 Apr 2022 18:21:22 +0000</pubDate>
        <dc:creator>Walter Erquinigo &lt;wallace@fb.com&gt;</dc:creator>
    </item>
<item>
        <title>64f47c1e58a10de160ce3fb3afbc50c0243e2977 - [lldb-vscode] redirect stderr/stdout to the IDE&apos;s console</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/lldb/tools/lldb-vscode/OutputRedirector.cpp#64f47c1e58a10de160ce3fb3afbc50c0243e2977</link>
        <description>[lldb-vscode] redirect stderr/stdout to the IDE&apos;s consoleIn certain occasions times, like when LLDB is initializing andevaluating the .lldbinit files, it tries to print to stderr and stdoutdirectly. This confuses the IDE with malformed data, as it talks tolldb-vscode using stdin and stdout following the JSON RPC protocol. Thisends up terminating the debug session with the user unaware of what&apos;sgoing on. There might be other situations in which this can happen, andthey will be harder to debug than the .lldbinit case.After several discussions with @clayborg, @yinghuitan and @aadsm, werealized that the best course of action is to simply redirect stdout andstderr to the console, without modifying LLDB itself. This will prove tobe resilient to future bugs or features.I made the simplest possible redirection logic I could come up with. Itonly works for POSIX, and to make it work with Windows should be merelychanging pipe and dup2 for the windows equivalents like _pipe and _dup2.Sadly I don&apos;t have a Windows machine, so I&apos;ll do it later once my officereopens, or maybe someone else can do it.I&apos;m intentionally not adding a stop-redirecting logic, as I don&apos;t see ituseful for the lldb-vscode case (why would we want to do that, really?).I added a test.Note: this is a simpler version of D80659. I first tried to implement aRIIA version of it, but it was problematic to manage the state of thethread and reverting the redirection came with some non trivialcomplexities, like what to do with unflushed data after the debugsession has finished on the IDE&apos;s side.

            List of files:
            /llvm-project/lldb/tools/lldb-vscode/OutputRedirector.cpp</description>
        <pubDate>Wed, 21 Apr 2021 21:20:17 +0000</pubDate>
        <dc:creator>Walter Erquinigo &lt;a20012251@gmail.com&gt;</dc:creator>
    </item>
</channel>
</rss>
