*/
class UnixPipes extends AbstractPipes
{
- /** @var bool */
private $ttyMode;
- /** @var bool */
private $ptyMode;
- /** @var bool */
private $haveReadSupport;
public function __construct($ttyMode, $ptyMode, $input, $haveReadSupport)
unset($r[0]);
// let's have a look if something changed in streams
- if (($r || $w) && false === $n = @stream_select($r, $w, $e, 0, $blocking ? Process::TIMEOUT_PRECISION * 1E6 : 0)) {
+ set_error_handler(array($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
// otherwise, an error occurred, let's reset pipes
if (!$this->hasSystemCallBeenInterrupted()) {
return $read;
}
+ restore_error_handler();
foreach ($r as $pipe) {
// prior PHP 5.4 the array passed to stream_select is modified and