xref: /plugin/combo/vendor/symfony/process/Exception/ProcessSignaledException.php (revision 04fd306c7c155fa133ebb3669986875d65988276)
1*04fd306cSNickeau<?php
2*04fd306cSNickeau
3*04fd306cSNickeau/*
4*04fd306cSNickeau * This file is part of the Symfony package.
5*04fd306cSNickeau *
6*04fd306cSNickeau * (c) Fabien Potencier <fabien@symfony.com>
7*04fd306cSNickeau *
8*04fd306cSNickeau * For the full copyright and license information, please view the LICENSE
9*04fd306cSNickeau * file that was distributed with this source code.
10*04fd306cSNickeau */
11*04fd306cSNickeau
12*04fd306cSNickeaunamespace Symfony\Component\Process\Exception;
13*04fd306cSNickeau
14*04fd306cSNickeauuse Symfony\Component\Process\Process;
15*04fd306cSNickeau
16*04fd306cSNickeau/**
17*04fd306cSNickeau * Exception that is thrown when a process has been signaled.
18*04fd306cSNickeau *
19*04fd306cSNickeau * @author Sullivan Senechal <soullivaneuh@gmail.com>
20*04fd306cSNickeau */
21*04fd306cSNickeaufinal class ProcessSignaledException extends RuntimeException
22*04fd306cSNickeau{
23*04fd306cSNickeau    private $process;
24*04fd306cSNickeau
25*04fd306cSNickeau    public function __construct(Process $process)
26*04fd306cSNickeau    {
27*04fd306cSNickeau        $this->process = $process;
28*04fd306cSNickeau
29*04fd306cSNickeau        parent::__construct(sprintf('The process has been signaled with signal "%s".', $process->getTermSignal()));
30*04fd306cSNickeau    }
31*04fd306cSNickeau
32*04fd306cSNickeau    public function getProcess(): Process
33*04fd306cSNickeau    {
34*04fd306cSNickeau        return $this->process;
35*04fd306cSNickeau    }
36*04fd306cSNickeau
37*04fd306cSNickeau    public function getSignal(): int
38*04fd306cSNickeau    {
39*04fd306cSNickeau        return $this->getProcess()->getTermSignal();
40*04fd306cSNickeau    }
41*04fd306cSNickeau}
42