fix: clamp poll sleep duration to non-negative in bash-tools process (#24889)

`Math.min(250, deadline - Date.now())` could return a negative value if
the deadline expired between the while-condition check and the setTimeout
call. Wrap with `Math.max(0, ...)` to ensure the sleep is never negative.

Co-authored-by: Claude Sonnet 4.6 <[email protected]>
This commit is contained in:
Adam
2026-02-24 03:22:58 +00:00
committed by GitHub
co-authored by Claude Sonnet 4.6
parent dc8423f2c0
commit d07d24eebe
+1 -1
View File
@@ -331,7 +331,7 @@ export function createProcessTool(
const deadline = Date.now() + pollWaitMs;
while (!scopedSession.exited && Date.now() < deadline) {
await new Promise((resolve) =>
setTimeout(resolve, Math.min(250, deadline - Date.now())),
setTimeout(resolve, Math.max(0, Math.min(250, deadline - Date.now()))),
);
}
}