PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 5.2.0
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v5.2.0
5.11.1 5.11.0 5.10.2 5.10.1 trunk 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.3.0 1.3.1 1.3.2 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.10.0 4.11.0 4.12.0 4.13.0 4.13.2 4.13.3 4.13.4 4.13.5 4.14.0 4.14.1 4.14.2 4.15.0 4.15.1 4.15.2 4.15.3 4.2.0 4.3.0 4.3.1 4.4.1 4.4.2 4.5.0 4.6.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.10.0 5.2.0 5.2.1 5.2.2 5.3.0 5.3.1 5.3.2 5.3.3 5.6.0 5.6.1 5.7.0 5.7.1 5.8.0 5.8.1 5.8.2
matomo / app / vendor / prefixed / symfony / console / SignalRegistry / SignalRegistry.php
matomo / app / vendor / prefixed / symfony / console / SignalRegistry Last commit date
SignalRegistry.php 1 year ago
SignalRegistry.php
55 lines
1 <?php
2
3 /*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <fabien@symfony.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11 namespace Matomo\Dependencies\Symfony\Component\Console\SignalRegistry;
12
13 final class SignalRegistry
14 {
15 private $signalHandlers = [];
16 public function __construct()
17 {
18 if (\function_exists('pcntl_async_signals')) {
19 pcntl_async_signals(\true);
20 }
21 }
22 public function register(int $signal, callable $signalHandler) : void
23 {
24 if (!isset($this->signalHandlers[$signal])) {
25 $previousCallback = pcntl_signal_get_handler($signal);
26 if (\is_callable($previousCallback)) {
27 $this->signalHandlers[$signal][] = $previousCallback;
28 }
29 }
30 $this->signalHandlers[$signal][] = $signalHandler;
31 pcntl_signal($signal, [$this, 'handle']);
32 }
33 public static function isSupported() : bool
34 {
35 if (!\function_exists('pcntl_signal')) {
36 return \false;
37 }
38 if (\in_array('pcntl_signal', explode(',', \ini_get('disable_functions')))) {
39 return \false;
40 }
41 return \true;
42 }
43 /**
44 * @internal
45 */
46 public function handle(int $signal) : void
47 {
48 $count = \count($this->signalHandlers[$signal]);
49 foreach ($this->signalHandlers[$signal] as $i => $signalHandler) {
50 $hasNext = $i !== $count - 1;
51 $signalHandler($signal, $hasNext);
52 }
53 }
54 }
55