Initial commit

This commit is contained in:
2018-04-15 16:41:46 +02:00
commit 86ff40274b
29 changed files with 1368 additions and 0 deletions

View File

@ -0,0 +1,37 @@
<?php
namespace NoccyLabs\Ipc\Signal;
class SignalHandler
{
private $signo;
private $callbacks;
public function __construct(int $signo, array $callbacks=[])
{
$this->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;
}
}
}