From 3d7dca87732889bbf1d860fd7478793c8fae0416 Mon Sep 17 00:00:00 2001 From: Ajay Krishnan Date: Thu, 25 Jun 2026 00:03:48 -0700 Subject: [PATCH] Fix web-search smoke cleanup --- scripts/smoke-web-search.mjs | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/scripts/smoke-web-search.mjs b/scripts/smoke-web-search.mjs index 28bcda5..b9f5c11 100644 --- a/scripts/smoke-web-search.mjs +++ b/scripts/smoke-web-search.mjs @@ -17,13 +17,29 @@ let nextId = 1; const pending = new Map(); let stdoutBuffer = ""; let stderrBuffer = ""; +let childExited = false; + +child.once("exit", () => { + childExited = true; +}); function stopChild() { - child.stdin.end(); - child.kill("SIGTERM"); - const killTimer = setTimeout(() => child.kill("SIGKILL"), 3000); return new Promise(resolve => { + if (childExited) { + resolve(); + return; + } + + child.stdin.end(); + const termTimer = setTimeout(() => { + if (!childExited) child.kill("SIGTERM"); + }, 3000); + const killTimer = setTimeout(() => { + if (!childExited) child.kill("SIGKILL"); + }, 6000); + child.once("exit", () => { + clearTimeout(termTimer); clearTimeout(killTimer); resolve(); });