[Lldb-commits] [PATCH] D71633: [lldb-vscode] Only close the debuggers in/out when DAP is over stdin/out
Nathan Lanza via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Wed Dec 18 11:26:22 PST 2019
lanza updated this revision to Diff 234586.
lanza added a comment.
fixup according to Greg's requests
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D71633/new/
https://reviews.llvm.org/D71633
Files:
lldb/tools/lldb-vscode/lldb-vscode.cpp
Index: lldb/tools/lldb-vscode/lldb-vscode.cpp
===================================================================
--- lldb/tools/lldb-vscode/lldb-vscode.cpp
+++ lldb/tools/lldb-vscode/lldb-vscode.cpp
@@ -1199,14 +1199,18 @@
// before we are given an executable to launch in a "launch" request, or a
// executable when attaching to a process by process ID in a "attach"
// request.
- 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 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.
- g_vsc.debugger.SetOutputFileHandle(out, true);
- g_vsc.debugger.SetErrorFileHandle(out, false);
+ 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);
+ }
}
g_vsc.target = g_vsc.debugger.CreateTarget(nullptr);
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D71633.234586.patch
Type: text/x-patch
Size: 1640 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20191218/79c29503/attachment.bin>
More information about the lldb-commits
mailing list