clayborg requested changes to this revision. clayborg added inline comments. This revision now requires changes to proceed.
================ Comment at: lldb/tools/lldb-vscode/lldb-vscode.cpp:1202-1212 FILE *out = llvm::sys::RetryAfterSignal(nullptr, fopen, dev_null_path, "w"); - if (out) { - // Set the output and error file handles to redirect into nothing otherwise + if (out && !g_vsc.input.descriptor.m_is_socket) { + // If the input and output descriptors are STDIN and STDOUT then we need to + // set the output and error file handles to redirect into nothing otherwise // if any code in LLDB prints to the debugger file handles, the output and // error file handles are initialized to STDOUT and STDERR and any output + // will kill our debug session. However, if the communication is via sockets ---------------- Test if this is a socket first so we don't open dev null is we don't need to: ``` if (!g_vsc.input.descriptor.m_is_socket) { FILE *out = llvm::sys::RetryAfterSignal(nullptr, fopen, dev_null_path, "w"); if (out) { // If the input and output descriptors are STDIN and STDOUT then we need to // set the output and error file handles to redirect into nothing otherwise // if any code in LLDB prints to the debugger file handles, the output and // error file handles are initialized to STDOUT and STDERR and any output // will kill our debug session. However, if the communication is via sockets // then we can leave these open. g_vsc.debugger.SetOutputFileHandle(out, true); g_vsc.debugger.SetErrorFileHandle(out, false); } } ``` Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D71633/new/ https://reviews.llvm.org/D71633 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits