Skip to content

Commit 6c8631b

Browse files
committed
Work around legacy HHVM which doesn't report pipe open mode
1 parent 1ae63b2 commit 6c8631b

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,6 @@ jobs:
4646
- uses: azjezz/setup-hhvm@v1
4747
with:
4848
version: lts-3.30
49-
- run: hhvm $(which composer) require phpunit/phpunit:^5 --dev # requires legacy phpunit
49+
- run: hhvm $(which composer) install
5050
- run: hhvm vendor/bin/phpunit
5151
- run: hhvm examples/13-benchmark-throughput.php

src/Process.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -231,10 +231,13 @@ public function start(LoopInterface $loop, $interval = 0.1)
231231
}
232232

233233
foreach ($pipes as $n => $fd) {
234+
// use open mode from stream meta data or fall back to pipe open mode for legacy HHVM
234235
$meta = \stream_get_meta_data($fd);
235-
if ($meta['mode'] === 'r+') {
236+
$mode = $meta['mode'] === '' ? ($this->fds[$n][1] === 'r' ? 'w' : 'r') : $meta['mode'];
237+
238+
if ($mode === 'r+') {
236239
$stream = new DuplexResourceStream($fd, $loop);
237-
} elseif ($meta['mode'] === 'w') {
240+
} elseif ($mode === 'w') {
238241
$stream = new WritableResourceStream($fd, $loop);
239242
} else {
240243
$stream = new ReadableResourceStream($fd, $loop);

0 commit comments

Comments
 (0)