2018-04-15 16:41:46 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace NoccyLabs\Ipc\Signal;
|
|
|
|
|
|
|
|
|
|
|
|
class Signal
|
|
|
|
{
|
|
|
|
private $signo;
|
|
|
|
|
|
|
|
public function __construct(int $signo)
|
|
|
|
{
|
|
|
|
$this->signo = $signo;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function setHandler(callable $handler):void
|
|
|
|
{
|
|
|
|
pcntl_signal($this->signo, $handler);
|
|
|
|
}
|
|
|
|
|
2018-04-15 17:25:55 +02:00
|
|
|
public function dispatch($pid=null):bool
|
2018-04-15 16:41:46 +02:00
|
|
|
{
|
2018-04-15 17:25:55 +02:00
|
|
|
return posix_kill($pid?:posix_getpid(), $this->signo);
|
2018-04-15 16:41:46 +02:00
|
|
|
}
|
|
|
|
}
|