protected function handle($signal, $handler, $placement)
    {
        declare (ticks = 1);

        $signalNumber = $this->translateSignal($signal);

        if (is_int($handler) && in_array($handler, [SIG_IGN, SIG_DFL])) {
            unset($this->handlers[$signalNumber]);
            $this->registerHandler($signalNumber, $handler);

            return;
        }

        $this->placeHandler($signalNumber, $handler, $placement);
    }