Signed-off-by: Felix Fietkau <nbd@openwrt.org>
break;
len = read(sf->fd.fd, buf, buflen);
break;
len = read(sf->fd.fd, buf, buflen);
- if (!len) {
- sf->fd.eof = true;
- return;
- }
-
if (len < 0) {
if (errno == EINTR)
continue;
if (errno == EAGAIN)
return;
if (len < 0) {
if (errno == EINTR)
continue;
if (errno == EAGAIN)
return;
+
+ len = 0;
+ }
+
+ if (!len) {
+ sf->fd.eof = true;
+ return;
}
ustream_fill_read(s, len);
}
ustream_fill_read(s, len);