Skip to content

Commit fa8111a

Browse files
authored
Use explicit disposed flag instead of disposables.length check
1 parent 42c20b4 commit fa8111a

1 file changed

Lines changed: 3 additions & 1 deletion

File tree

  • src/client/testing/testController/common

src/client/testing/testController/common/utils.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,10 @@ export async function startRunResultNamedPipe(
9292
const reader = await createReaderPipe(pipeName, cancellationToken);
9393
traceVerbose(`Test Results named pipe ${pipeName} connected`);
9494
let disposables: Disposable[] = [];
95+
let disposed = false;
9596
const disposable = new Disposable(() => {
9697
traceVerbose(`Test Results named pipe ${pipeName} disposed`);
98+
disposed = true;
9799
disposables.forEach((d) => d.dispose());
98100
disposables = [];
99101
deferredTillServerClose.resolve();
@@ -116,7 +118,7 @@ export async function startRunResultNamedPipe(
116118
// drained, and that handler will dispose. Use a safety timeout to force
117119
// disposal in case the pipe never closes naturally (e.g. subprocess hang).
118120
setTimeout(() => {
119-
if (disposables.length > 0) {
121+
if (!disposed) {
120122
traceVerbose(
121123
`Test Result named pipe ${pipeName} drain timeout, forcing dispose`,
122124
);

0 commit comments

Comments
 (0)