X7ROOT File Manager
Current Path:
/home/prisjneg/public_html/vendor/laravel/framework/src/Illuminate/Console
home
/
prisjneg
/
public_html
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Console
/
📁
..
📄
Application.php
(8.33 KB)
📄
BufferedConsoleOutput.php
(773 B)
📄
CacheCommandMutex.php
(3.59 KB)
📄
Command.php
(7.92 KB)
📄
CommandMutex.php
(647 B)
📁
Concerns
📄
ConfirmableTrait.php
(1.28 KB)
📄
ContainerCommandLoader.php
(1.78 KB)
📁
Contracts
📁
Events
📄
GeneratorCommand.php
(13.5 KB)
📄
LICENSE.md
(1.05 KB)
📄
MigrationGeneratorCommand.php
(2.78 KB)
📄
OutputStyle.php
(4.41 KB)
📄
Parser.php
(4.61 KB)
📄
PromptValidationException.php
(122 B)
📄
QuestionHelper.php
(2.51 KB)
📁
Scheduling
📄
Signals.php
(3.53 KB)
📁
View
📄
composer.json
(1.65 KB)
📁
resources
Editing: Signals.php
<?php namespace Illuminate\Console; /** * @internal */ class Signals { /** * The signal registry instance. * * @var \Symfony\Component\Console\SignalRegistry\SignalRegistry */ protected $registry; /** * The signal registry's previous list of handlers. * * @var array<int, array<int, callable>>|null */ protected $previousHandlers; /** * The current availability resolver, if any. * * @var (callable(): bool)|null */ protected static $availabilityResolver; /** * Create a new signal registrar instance. * * @param \Symfony\Component\Console\SignalRegistry\SignalRegistry $registry * @return void */ public function __construct($registry) { $this->registry = $registry; $this->previousHandlers = $this->getHandlers(); } /** * Register a new signal handler. * * @param int $signal * @param callable(int $signal): void $callback * @return void */ public function register($signal, $callback) { $this->previousHandlers[$signal] ??= $this->initializeSignal($signal); with($this->getHandlers(), function ($handlers) use ($signal) { $handlers[$signal] ??= $this->initializeSignal($signal); $this->setHandlers($handlers); }); $this->registry->register($signal, $callback); with($this->getHandlers(), function ($handlers) use ($signal) { $lastHandlerInserted = array_pop($handlers[$signal]); array_unshift($handlers[$signal], $lastHandlerInserted); $this->setHandlers($handlers); }); } /** * Gets the signal's existing handler in array format. * * @return array<int, callable(int $signal): void> */ protected function initializeSignal($signal) { return is_callable($existingHandler = pcntl_signal_get_handler($signal)) ? [$existingHandler] : null; } /** * Unregister the current signal handlers. * * @return void */ public function unregister() { $previousHandlers = $this->previousHandlers; foreach ($previousHandlers as $signal => $handler) { if (is_null($handler)) { pcntl_signal($signal, SIG_DFL); unset($previousHandlers[$signal]); } } $this->setHandlers($previousHandlers); } /** * Execute the given callback if "signals" should be used and are available. * * @param callable $callback * @return void */ public static function whenAvailable($callback) { $resolver = static::$availabilityResolver; if ($resolver()) { $callback(); } } /** * Get the registry's handlers. * * @return array<int, array<int, callable>> */ protected function getHandlers() { return (fn () => $this->signalHandlers) ->call($this->registry); } /** * Set the registry's handlers. * * @param array<int, array<int, callable(int $signal):void>> $handlers * @return void */ protected function setHandlers($handlers) { (fn () => $this->signalHandlers = $handlers) ->call($this->registry); } /** * Set the availability resolver. * * @param callable(): bool * @return void */ public static function resolveAvailabilityUsing($resolver) { static::$availabilityResolver = $resolver; } }
Upload File
Create Folder