From ed7a7f7bd0a132eab04234d91579d3e7d590a91b Mon Sep 17 00:00:00 2001 From: Andrey Goncharov Date: Wed, 15 Nov 2023 03:46:46 -0800 Subject: [PATCH] Fix processExit Summary: setTimeout should terminate process if graceful termination takes too long. Before, we scheduled the timer only *after* the graceful termination completes which does not make any sense Reviewed By: lblasa Differential Revision: D51346673 fbshipit-source-id: b5adadbcf474a8c66839e1fc70bcc6482c47635e --- desktop/flipper-server-core/src/utils/processExit.tsx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/desktop/flipper-server-core/src/utils/processExit.tsx b/desktop/flipper-server-core/src/utils/processExit.tsx index a002709de..841f746d4 100644 --- a/desktop/flipper-server-core/src/utils/processExit.tsx +++ b/desktop/flipper-server-core/src/utils/processExit.tsx @@ -19,6 +19,11 @@ const resIsPromise = (res: void | Promise): res is Promise => export const processExit = async (code: number) => { console.debug('processExit', code); + setTimeout(() => { + console.error('Process exit routines timed out'); + process.exit(code); + }, 5000); + // eslint-disable-next-line promise/catch-or-return await Promise.all( onBeforeExitFns.map(async (fn) => { @@ -36,9 +41,4 @@ export const processExit = async (code: number) => { ).finally(() => { process.exit(code); }); - - setTimeout(() => { - console.error('Process exit routines timed out'); - process.exit(code); - }, 5000); };