{"version":3,"file":"signals.mjs","sources":["../../src/utils/signals.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\n\nexport const destroyOnSignal = (strapi: Core.Strapi) => {\n let signalReceived = false;\n\n // For unknown reasons, we receive signals 2 times.\n // As a temporary fix, we ignore the signals received after the first one.\n\n const terminateStrapi = async () => {\n if (!signalReceived) {\n signalReceived = true;\n await strapi.destroy();\n process.exit();\n }\n };\n\n ['SIGTERM', 'SIGINT'].forEach((signal) => {\n process.on(signal, terminateStrapi);\n });\n};\n"],"names":["destroyOnSignal","strapi","signalReceived","terminateStrapi","destroy","process","exit","forEach","signal","on"],"mappings":"AAEO,MAAMA,kBAAkB,CAACC,MAAAA,GAAAA;AAC9B,IAAA,IAAIC,cAAiB,GAAA,KAAA;;;AAKrB,IAAA,MAAMC,eAAkB,GAAA,UAAA;AACtB,QAAA,IAAI,CAACD,cAAgB,EAAA;YACnBA,cAAiB,GAAA,IAAA;AACjB,YAAA,MAAMD,OAAOG,OAAO,EAAA;AACpBC,YAAAA,OAAAA,CAAQC,IAAI,EAAA;AACd;AACF,KAAA;AAEA,IAAA;AAAC,QAAA,SAAA;AAAW,QAAA;KAAS,CAACC,OAAO,CAAC,CAACC,MAAAA,GAAAA;QAC7BH,OAAQI,CAAAA,EAAE,CAACD,MAAQL,EAAAA,eAAAA,CAAAA;AACrB,KAAA,CAAA;AACF;;;;"}