REDROOM
PHP 8.2.31
Path:
Logout
Edit File
Size: 3.67 KB
Close
//opt/cpanel/ea-wappspector/vendor/rector/rector/vendor/symfony/process/Pipes/UnixPipes.php
Text
Base64
<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace RectorPrefix202411\Symfony\Component\Process\Pipes; use RectorPrefix202411\Symfony\Component\Process\Process; /** * UnixPipes implementation uses unix pipes as handles. * * @author Romain Neutron <imprec@gmail.com> * * @internal */ class UnixPipes extends AbstractPipes { /** * @var bool|null */ private $ttyMode; /** * @var bool */ private $ptyMode; /** * @var bool */ private $haveReadSupport; /** * @param mixed $input */ public function __construct(?bool $ttyMode, bool $ptyMode, $input, bool $haveReadSupport) { $this->ttyMode = $ttyMode; $this->ptyMode = $ptyMode; $this->haveReadSupport = $haveReadSupport; parent::__construct($input); } public function __sleep() : array { throw new \BadMethodCallException('Cannot serialize ' . __CLASS__); } public function __wakeup() : void { throw new \BadMethodCallException('Cannot unserialize ' . __CLASS__); } public function __destruct() { $this->close(); } public function getDescriptors() : array { if (!$this->haveReadSupport) { $nullstream = \fopen('/dev/null', 'c'); return [['pipe', 'r'], $nullstream, $nullstream]; } if ($this->ttyMode) { return [['file', '/dev/tty', 'r'], ['file', '/dev/tty', 'w'], ['file', '/dev/tty', 'w']]; } if ($this->ptyMode && Process::isPtySupported()) { return [['pty'], ['pty'], ['pty']]; } return [ ['pipe', 'r'], ['pipe', 'w'], // stdout ['pipe', 'w'], ]; } public function getFiles() : array { return []; } public function readAndWrite(bool $blocking, bool $close = \false) : array { $this->unblock(); $w = $this->write(); $read = $e = []; $r = $this->pipes; unset($r[0]); // let's have a look if something changed in streams \set_error_handler(\Closure::fromCallable([$this, 'handleError'])); if (($r || $w) && \false === \stream_select($r, $w, $e, 0, $blocking ? Process::TIMEOUT_PRECISION * 1000000.0 : 0)) { \restore_error_handler(); // if a system call has been interrupted, forget about it, let's try again // otherwise, an error occurred, let's reset pipes if (!$this->hasSystemCallBeenInterrupted()) { $this->pipes = []; } return $read; } \restore_error_handler(); foreach ($r as $pipe) { // prior PHP 5.4 the array passed to stream_select is modified and // lose key association, we have to find back the key $read[$type = \array_search($pipe, $this->pipes, \true)] = ''; do { $data = @\fread($pipe, self::CHUNK_SIZE); $read[$type] .= $data; } while (isset($data[0]) && ($close || isset($data[self::CHUNK_SIZE - 1]))); if (!isset($read[$type][0])) { unset($read[$type]); } if ($close && \feof($pipe)) { \fclose($pipe); unset($this->pipes[$type]); } } return $read; } public function haveReadSupport() : bool { return $this->haveReadSupport; } public function areOpen() : bool { return (bool) $this->pipes; } }
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 0 × Files: 4
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
AbstractPipes.php
5.06 KB
lrw-r--r--
2024-11-08 13:59:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
PipesInterface.php
1.49 KB
lrw-r--r--
2024-11-08 13:59:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
UnixPipes.php
3.67 KB
lrw-r--r--
2024-11-08 13:59:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
WindowsPipes.php
5.87 KB
lrw-r--r--
2024-11-08 13:59:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).