Handle blocking initial read

This commit is contained in:
Jarred Sumner
2022-11-15 21:01:08 -08:00
parent 0e7ed4c667
commit 6cdb7e77dd

View File

@@ -3791,6 +3791,24 @@ pub const FileReader = struct {
this.buf = read_buf;
}
this.watch(fd);
return .{
.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,