signo = $signo; $this->callbacks = $callbacks; pcntl_signal($this->signo, [ $this, "onSignal" ]); } public function __destruct() { } public function addHandler(callable $handler):void { $this->callbacks[] = $handler; } public function onSignal($signo) { foreach ($this->callbacks as $callback) { if (call_user_func($callback) === true) return; } } }