The select(2) system call only guarantees a "sufficiently small write" can be made without blocking. It doesn't define what that means. And on Linux the read might block too in certain cases, although I don't know if any of them can occur here. Regardless, set all the pipes to non-blocking, which avoids the blocking that's behind T184171. And then, since a non-blocking read might validly return empty-string or a non-blocking write might validly return 0, use feof() to check for EOF and actually close the write pipe when it runs out of data. Bug: T184171 Change-Id: I403235a328630112b6920905730f933777e2d453 |
||
|---|---|---|
| .. | ||
| Command.php | ||
| CommandFactory.php | ||
| firejail.profile | ||
| FirejailCommand.php | ||
| limit.sh | ||
| Result.php | ||
| Shell.php | ||