IMO, the check on empty pipes should be done at the beginning of the method. No need to declare variables or check for an interrupted system call when pipes are empty.

```php
public function readStreams($blocking, $close = false) 
{
    if (empty($this->pipes)) {
        return array();
    }
    // ...
}
```