aboutsummaryrefslogtreecommitdiff
path: root/sandbox/testAppNevena/Front/node_modules/@npmcli/run-script/lib/signal-manager.js
diff options
context:
space:
mode:
authorDanijel Andjelkovic <adanijel99@gmail.com>2022-03-01 21:54:41 +0100
committerDanijel Andjelkovic <adanijel99@gmail.com>2022-03-01 21:54:41 +0100
commit6c8128f9fd5a5d0be115806c35a21b3d683df8d6 (patch)
treef46c2f6b3b9b294ff32bd75c08ccdc9e7a8cc4ef /sandbox/testAppNevena/Front/node_modules/@npmcli/run-script/lib/signal-manager.js
parent2400b84e95913665da6279114168148444b8f9ab (diff)
parent7d3640f824f46490b47bd95f1c5a16644f712068 (diff)
Merge branch 'dev' of http://gitlab.pmf.kg.ac.rs/igrannonica/neuronstellar into logo
Diffstat (limited to 'sandbox/testAppNevena/Front/node_modules/@npmcli/run-script/lib/signal-manager.js')
-rw-r--r--sandbox/testAppNevena/Front/node_modules/@npmcli/run-script/lib/signal-manager.js46
1 files changed, 46 insertions, 0 deletions
diff --git a/sandbox/testAppNevena/Front/node_modules/@npmcli/run-script/lib/signal-manager.js b/sandbox/testAppNevena/Front/node_modules/@npmcli/run-script/lib/signal-manager.js
new file mode 100644
index 00000000..556e758c
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/@npmcli/run-script/lib/signal-manager.js
@@ -0,0 +1,46 @@
+const runningProcs = new Set()
+let handlersInstalled = false
+
+const forwardedSignals = [
+ 'SIGINT',
+ 'SIGTERM'
+]
+
+const handleSignal = signal => {
+ for (const proc of runningProcs) {
+ proc.kill(signal)
+ }
+}
+
+const setupListeners = () => {
+ for (const signal of forwardedSignals) {
+ process.on(signal, handleSignal)
+ }
+ handlersInstalled = true
+}
+
+const cleanupListeners = () => {
+ if (runningProcs.size === 0) {
+ for (const signal of forwardedSignals) {
+ process.removeListener(signal, handleSignal)
+ }
+ handlersInstalled = false
+ }
+}
+
+const add = proc => {
+ runningProcs.add(proc)
+ if (!handlersInstalled)
+ setupListeners()
+
+ proc.once('exit', () => {
+ runningProcs.delete(proc)
+ cleanupListeners()
+ })
+}
+
+module.exports = {
+ add,
+ handleSignal,
+ forwardedSignals
+}