aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/bun.js/webcore/streams.zig18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/bun.js/webcore/streams.zig b/src/bun.js/webcore/streams.zig
index 253deda55..7bb1c8f17 100644
--- a/src/bun.js/webcore/streams.zig
+++ b/src/bun.js/webcore/streams.zig
@@ -3796,6 +3796,24 @@ pub const FileReader = struct {
.pending = &this.pending,
};
}
+ } else if (this.isFIFO() and this.poll_ref == null and available_to_read == null) {
+ // we don't know if it's readable or not
+ if (!bun.isReadable(fd)) {
+ if (free_buffer_on_error) {
+ bun.default_allocator.free(buf_to_use);
+ buf_to_use = read_buf;
+ }
+
+ if (view != .zero) {
+ this.view.set(this.globalThis(), view);
+ this.buf = read_buf;
+ }
+
+ this.watch(fd);
+ return .{
+ .pending = &this.pending,
+ };
+ }
}
switch (Syscall.read(fd, buf_to_use)) {