llvmorg-github-actions[bot] wrote:

<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-lldb

Author: Ebuka Ezike (da-viper)

<details>
<summary>Changes</summary>

The DAP server was spawned using only the user defined `options.env`, which 
dropped the parent process's environment (e.g. PATH). Merge the two, giving 
user-defined values priority on conflicts.

Fixes #<!-- -->159498

---
Full diff: https://github.com/llvm/llvm-project/pull/213679.diff


1 Files Affected:

- (modified) lldb/tools/lldb-dap/extension/src/lldb-dap-server.ts (+7-1) 


``````````diff
diff --git a/lldb/tools/lldb-dap/extension/src/lldb-dap-server.ts 
b/lldb/tools/lldb-dap/extension/src/lldb-dap-server.ts
index deacdea145a41..7ee12d66b49d1 100644
--- a/lldb/tools/lldb-dap/extension/src/lldb-dap-server.ts
+++ b/lldb/tools/lldb-dap/extension/src/lldb-dap-server.ts
@@ -59,8 +59,14 @@ export class LLDBDapServer implements vscode.Disposable {
       return this.serverInfo;
     }
 
+    // Merge the parent env with the user defined env (user defined takes 
priority).
+    const dapSpawnOptions: child_process.SpawnOptionsWithoutStdio = {
+      ...options,
+      env: { ...process.env, ...options?.env },
+    };
+
     this.serverInfo = new Promise((resolve, reject) => {
-      const process = child_process.spawn(dapPath, dapArgs, options);
+      const process = child_process.spawn(dapPath, dapArgs, dapSpawnOptions);
       process.on("error", (error) => {
         reject(error);
         this.cleanUp(process);

``````````

</details>


https://github.com/llvm/llvm-project/pull/213679
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to