From f0529c0a21ffce2afc0533f913d1a733a90ade80 Mon Sep 17 00:00:00 2001 From: Unay Santisteban Date: Wed, 28 Mar 2018 13:16:48 +0200 Subject: [PATCH] Added some kind of DI to the ProcessManager::constructor --- src/Ko/ProcessManager.php | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/Ko/ProcessManager.php b/src/Ko/ProcessManager.php index de6e1cd..c321aba 100644 --- a/src/Ko/ProcessManager.php +++ b/src/Ko/ProcessManager.php @@ -70,23 +70,29 @@ class ProcessManager implements \Countable */ protected $signalHandler; - public function __construct() + public function __construct(SignalHandler $signalHandler = null) { $this->children = []; $this->spawnWatch = []; $this->sigTerm = false; + if (isset($signalHandler)) { + $this->signalHandler = $signalHandler; + + } else { + $this->signalHandler = new SignalHandler(); + } + $this->setupSignalHandlers(); } protected function setupSignalHandlers() { - $this->signalHandler = new SignalHandler(); - $this->signalHandler->registerHandler(SIGCHLD, function() { + $this->signalHandler->registerHandler(SIGCHLD, function () { $this->handleSigChild(); }); - $this->signalHandler->registerHandler(SIGTERM, function() { + $this->signalHandler->registerHandler(SIGTERM, function () { $this->handleSigTerm(); }); } @@ -114,7 +120,7 @@ public function handleSigTerm() foreach ($this->children as $process) { $process->kill(); } - + $this->internalEmit('shutdown'); } @@ -310,3 +316,4 @@ public function dispatch() return $this; } } +