Procházet zdrojové kódy

add shutDownInProgress check into sig listening

Henry Oswald před 7 roky
rodič
revize
1fc1b4206e
1 změnil soubory, kde provedl 9 přidání a 3 odebrání
  1. 9 3
      services/real-time/app.coffee

+ 9 - 3
services/real-time/app.coffee

@@ -103,11 +103,17 @@ forceDrain = ->
 		DrainManager.startDrain(io, 4)
 	, Settings.forceDrainMsDelay
 
+shutDownInProgress = false
 if Settings.forceDrainMsDelay?
 	Settings.forceDrainMsDelay = parseInt(Settings.forceDrainMsDelay, 10)
 	logger.log forceDrainMsDelay: Settings.forceDrainMsDelay,"forceDrainMsDelay enabled"
 	for signal in ['SIGINT', 'SIGHUP', 'SIGQUIT', 'SIGUSR1', 'SIGUSR2', 'SIGTERM', 'SIGABRT']
 		process.on signal, ->
-			logger.log signal: signal, "received interrupt, cleaning up"
-			shutdownCleanly(signal)
-			forceDrain()
+			if shutDownInProgress
+				logger.log signal: signal, "shutdown already in progress, ignoring signal"
+				return
+			else
+				shutDownInProgress = true
+				logger.log signal: signal, "received interrupt, cleaning up"
+				shutdownCleanly(signal)
+				forceDrain()