From b00e413cb0378d8c5129edfba46b77ae7a6e9e9c Mon Sep 17 00:00:00 2001 From: Noam Gaash Date: Wed, 24 Apr 2024 16:28:38 +0300 Subject: [PATCH] fix: gracefullyClose unused workers This patch fixes issue #30504 by gracefully terminating the worker before exiting the process --- packages/playwright/src/common/process.ts | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/packages/playwright/src/common/process.ts b/packages/playwright/src/common/process.ts index 4e1e2672fffac..49a6eb88e11c6 100644 --- a/packages/playwright/src/common/process.ts +++ b/packages/playwright/src/common/process.ts @@ -96,17 +96,18 @@ async function gracefullyCloseAndExit() { if (closed) return; closed = true; - // Force exit after 30 seconds. - // eslint-disable-next-line no-restricted-properties - setTimeout(() => process.exit(0), 30000); - // Meanwhile, try to gracefully shutdown. - await processRunner?.gracefullyClose().catch(() => {}); - if (processName) - await stopProfiling(processName).catch(() => {}); - // eslint-disable-next-line no-restricted-properties - process.exit(0); + try { + // try to gracefully shutdown. + await processRunner?.gracefullyClose().catch(() => {}); + if (processName) + await stopProfiling(processName).catch(() => {}); + } finally { + // eslint-disable-next-line no-restricted-properties + process.exit(0); + } } + function sendMessageToParent(message: { method: string, params?: any }) { try { process.send!(message);