diff options
| author | Aiden Cline <[email protected]> | 2025-08-31 12:48:30 -0500 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-08-31 12:48:30 -0500 |
| commit | 029612d8d509fbe8973bcddca5e789d7c0bb33af (patch) | |
| tree | 44879584c5bb778d31246491c447514c2a4625d0 | |
| parent | e9826e8a2293decaeb43c62c93495d923c20ddbf (diff) | |
| download | opencode-029612d8d509fbe8973bcddca5e789d7c0bb33af.tar.gz opencode-029612d8d509fbe8973bcddca5e789d7c0bb33af.zip | |
fix: ensure shell cmds can be properly aborted (#2339)
| -rw-r--r-- | packages/opencode/src/session/index.ts | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/packages/opencode/src/session/index.ts b/packages/opencode/src/session/index.ts index 4b66cdee3..4474bf1ce 100644 --- a/packages/opencode/src/session/index.ts +++ b/packages/opencode/src/session/index.ts @@ -1141,6 +1141,7 @@ export namespace Session { const proc = spawn(shell, args, { cwd: app.path.cwd, signal: abort.signal, + detached: true, stdio: ["ignore", "pipe", "pipe"], env: { ...process.env, @@ -1148,6 +1149,11 @@ export namespace Session { }, }) + abort.signal.addEventListener("abort", () => { + if (!proc.pid) return + process.kill(-proc.pid) + }) + let output = "" proc.stdout?.on("data", (chunk) => { |
