From 066db6b85f4df3029f492da5d1cb8324b4fa7340 Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Tue, 23 May 2017 15:41:06 -0700 Subject: [PATCH] Fix potential hang when canceling ts requests using pipe. Part of #24698 --- extensions/typescript/src/typescriptServiceClient.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/extensions/typescript/src/typescriptServiceClient.ts b/extensions/typescript/src/typescriptServiceClient.ts index 4ea7ba42287..f5a92dbd4cd 100644 --- a/extensions/typescript/src/typescriptServiceClient.ts +++ b/extensions/typescript/src/typescriptServiceClient.ts @@ -910,6 +910,13 @@ export default class TypeScriptServiceClient implements ITypescriptServiceClient return true; } catch (e) { // noop + } finally { + const p = this.callbacks[seq]; + if (p) { + delete this.callbacks[seq]; + this.pendingResponses--; + p.e(new Error(`Cancelled Request ${seq}`)); + } } }