================
@@ -137,42 +141,232 @@ lldb::SBValueList *GetTopLevelScope(DAP &dap, int64_t 
variablesReference) {
   }
 }
 
-SOCKET AcceptConnection(DAP &dap, int portno) {
-  // Accept a socket connection from any host on "portno".
-  SOCKET newsockfd = -1;
-  struct sockaddr_in serv_addr, cli_addr;
+/// Redirect stdout and stderr fo the IDE's console output.
+///
+/// Errors in this operation will be printed to the log file and the IDE's
+/// console output as well.
+///
+/// \return
+///     A fd pointing to the original stdout.
+void SetupRedirection(DAP &dap, int stdoutfd = -1, int stderrfd = -1) {
----------------
ashgti wrote:

Each `lldb::SBDebugger` instance has its own file for stdout/stderr.

When running in server mode we don't actually redirect stdout/stderr to the DAP 
connection directly.

When running lldb commands the output is directed to the 
`lldb::SBDebugger::GetOutputFileHandle` and 
`lldb::SBDebugger::GetErrorFileHandle`.

the SBDebugger defaults to stdout/stderr, but we can change those since we have 
one debugger per client connection.

https://github.com/llvm/llvm-project/pull/116392
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to