From f4566060158b649e869a4af8b5d25da2c81b1d33 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 13 Oct 2022 09:06:07 +0200 Subject: [PATCH] Prevent infinite loop when exiting --- src/node/server.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/node/server.js b/src/node/server.js index ae6cacb44..6a494fe17 100755 --- a/src/node/server.js +++ b/src/node/server.js @@ -107,7 +107,14 @@ exports.start = async () => { process.on('uncaughtException', (err) => { logger.debug(`uncaught exception: ${err.stack || err}`); - exports.exit(err); + + // eslint-disable-next-line promise/no-promise-in-callback + exports.exit(err) + .catch((err) => { + logger.error('Error in process exit', err); + // eslint-disable-next-line n/no-process-exit + process.exit(1); + }); }); // As of v14, Node.js does not exit when there is an unhandled Promise rejection. Convert an // unhandled rejection into an uncaught exception, which does cause Node.js to exit.