['pipe', 'w'
], // stderr
];
} 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($this->
handleError(...
));
if (($r ||
$w) && false ===
stream_select($r,
$w,
$e, 0,
$blocking ? Process::TIMEOUT_PRECISION * 1E6 : 0
)) { restore_error_handler();
// if a system call has been interrupted, forget about it, let's try again