Merge pull request #62 from modelcontextprotocol/ani/fix-dosbox-more

Use detached: true on Windows
This commit is contained in:
Ani Betts 2024-11-20 15:58:09 +01:00 • committed by GitHub
commit 97cac5b65c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -113,7 +113,17 @@ export class StdioClientTransport implements Transport {
stdio: ["pipe", "pipe", this._serverParams.stderr ?? "inherit"],
shell: false,
signal: this._abortController.signal,
},
// NB: The behavior of detached varies based on platform, and also
// is different based on whether the process is a Win32 Subsystem
// process or a Console Subsystem process. Strangely, the behavior
// of detached is almost 1:1 the opposite in Electron+Windows vs
// what is documented on the node.js website, and also is different
// based on whether you launch Electron in a development environment
// (i.e. via `electron-forge start`) vs a production environment
// (i.e. YourApp.exe).
detached: process.platform === "win32" && isElectron(),
}
);
this._process.on("error", (error) => {
@ -187,3 +197,7 @@ export class StdioClientTransport implements Transport {
});
}
}
function isElectron() {
return "type" in process;
}