diff options
| author | Greg <supahgreg@users.noreply.github.com> | 2025-10-10 20:46:43 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-10 20:46:43 -0500 |
| commit | 46e0d6e1efa04c8905b4f8d016512125464a5732 (patch) | |
| tree | ec1df81a86310e44b5ef07fb4a9aebcb15186e77 /vendor/phpunit/php-invoker/src/Invoker.php | |
| parent | 92493059da37b3cbd7040f786b1129571e3893cc (diff) | |
| parent | 2d880e6c7dbdcabe87e9fbfc98835cc3b53eadd9 (diff) | |
Merge pull request #22 from tt-rss/bugfix/php-deps
Don't bundle PHP dev dependencies
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'); - } -} |