diff options
| author | supahgreg <supahgreg@users.noreply.github.com> | 2025-10-09 02:49:56 +0000 |
|---|---|---|
| committer | supahgreg <supahgreg@users.noreply.github.com> | 2025-10-09 03:08:30 +0000 |
| commit | e41d6361221a30ca9d996cde7591111e626b7e1c (patch) | |
| tree | 4572f61f37bbc76192ad60e0940c281483bc03af /vendor/phpunit/php-invoker/src/Invoker.php | |
| parent | ab0aabf8548c206f3f624de5451a9b6abbde90be (diff) | |
Remove dev dependencies and update the rest.
Diffstat (limited to 'vendor/phpunit/php-invoker/src/Invoker.php')
| -rw-r--r-- | vendor/phpunit/php-invoker/src/Invoker.php | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/vendor/phpunit/php-invoker/src/Invoker.php b/vendor/phpunit/php-invoker/src/Invoker.php deleted file mode 100644 index 656f4180a..000000000 --- a/vendor/phpunit/php-invoker/src/Invoker.php +++ /dev/null @@ -1,69 +0,0 @@ -<?php declare(strict_types=1); -/* - * This file is part of phpunit/php-invoker. - * - * (c) Sebastian Bergmann <sebastian@phpunit.de> - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Invoker; - -use const SIGALRM; -use function call_user_func_array; -use function function_exists; -use function pcntl_alarm; -use function pcntl_async_signals; -use function pcntl_signal; -use function sprintf; -use Throwable; - -final class Invoker -{ - /** - * @var int - */ - private $timeout; - - /** - * @throws Throwable - */ - public function invoke(callable $callable, array $arguments, int $timeout) - { - if (!$this->canInvokeWithTimeout()) { - throw new ProcessControlExtensionNotLoadedException( - 'The pcntl (process control) extension for PHP is required' - ); - } - - pcntl_signal( - SIGALRM, - function (): void { - throw new TimeoutException( - sprintf( - 'Execution aborted after %d second%s', - $this->timeout, - $this->timeout === 1 ? '' : 's' - ) - ); - }, - true - ); - - $this->timeout = $timeout; - - pcntl_async_signals(true); - pcntl_alarm($timeout); - - try { - return call_user_func_array($callable, $arguments); - } finally { - pcntl_alarm(0); - } - } - - public function canInvokeWithTimeout(): bool - { - return function_exists('pcntl_signal') && function_exists('pcntl_async_signals') && function_exists('pcntl_alarm'); - } -} |