From f16e32b73d321a0571a16f94ab226487e4f3f060 Mon Sep 17 00:00:00 2001 From: cpojer Date: Fri, 6 Feb 2026 09:57:51 +0900 Subject: [PATCH] fix: Do not `process.exit(0)` in the middle of a test. --- src/agents/session-write-lock.ts | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/agents/session-write-lock.ts b/src/agents/session-write-lock.ts index 73afe6dc9d..fce940ae14 100644 --- a/src/agents/session-write-lock.ts +++ b/src/agents/session-write-lock.ts @@ -34,15 +34,17 @@ async function releaseAllLocks(): Promise { } } -// Register cleanup handlers to release locks on unexpected termination -process.on("exit", releaseAllLocks); -process.on("SIGTERM", () => { - void releaseAllLocks().then(() => process.exit(0)); -}); -process.on("SIGINT", () => { - void releaseAllLocks().then(() => process.exit(0)); -}); -// Note: unhandledRejection handler will call process.exit() which triggers 'exit' +if (process.env.NODE_ENV !== "test" && !process.env.VITEST) { + // Register cleanup handlers to release locks on unexpected termination + process.on("exit", releaseAllLocks); + process.on("SIGTERM", () => { + void releaseAllLocks().then(() => process.exit(0)); + }); + process.on("SIGINT", () => { + void releaseAllLocks().then(() => process.exit(0)); + }); + // Note: unhandledRejection handler will call process.exit() which triggers 'exit' +} function isAlive(pid: number): boolean { if (!Number.isFinite(pid) || pid <= 0) {