From 9c87ded2b3fc4ba4a9a7656e9be39d5e404e6ab6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Ch=C5=82odnicki?= Date: Mon, 10 Oct 2022 21:03:15 +0200 Subject: [PATCH] fix(51100): ensure tsserver shuts down when parent process is killed (#51107) * fix(51100): ensure tsserver shuts down when parent process is killed When using IPC channel (`--useNodeIpc`) for communicating with tsserver, the child tsserver process did not shut down on parent process disconnecting (for example due to it being killed). Call exit() on IPC disconnect, same as stdio-based communication did when pipe to parent process was destroyed. * don't duplicate inherited method --- src/tsserver/nodeServer.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/tsserver/nodeServer.ts b/src/tsserver/nodeServer.ts index 0bfc5f5871931..47e3ff6bfb1b7 100644 --- a/src/tsserver/nodeServer.ts +++ b/src/tsserver/nodeServer.ts @@ -783,6 +783,10 @@ namespace ts.server { process.on("message", (e: any) => { this.onMessage(e); }); + + process.on("disconnect", () => { + this.exit(); + }); } }